From afdbe31a80f4fc478c3c2ee86493f1b771449622 Mon Sep 17 00:00:00 2001 From: ivan deng Date: Tue, 11 Apr 2023 20:55:04 +0800 Subject: [PATCH] fix misc --- app_chatgpt/i18n/zh_CN.po | 2 +- app_chatgpt/models/ai_robot.py | 67 +++- app_chatgpt/models/res.json | 21 + app_chatgpt/models/z_list_model.json | 366 ++++++------------ .../static/description/chatgpt_green.jpg | Bin 0 -> 20442 bytes app_chatgpt/views/ai_robot_views.xml | 2 + 6 files changed, 201 insertions(+), 257 deletions(-) create mode 100644 app_chatgpt/models/res.json create mode 100644 app_chatgpt/static/description/chatgpt_green.jpg diff --git a/app_chatgpt/i18n/zh_CN.po b/app_chatgpt/i18n/zh_CN.po index f9a26e13..5d8f2ffd 100644 --- a/app_chatgpt/i18n/zh_CN.po +++ b/app_chatgpt/i18n/zh_CN.po @@ -1795,7 +1795,7 @@ msgstr "" #. module: app_chatgpt #: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openai_sync_config msgid "Sync Config" -msgstr "同步配置" +msgstr "响应模式" #. module: app_chatgpt #: model:ir.model.fields.selection,name:app_chatgpt.selection__res_config_settings__openai_sync_config__sync diff --git a/app_chatgpt/models/ai_robot.py b/app_chatgpt/models/ai_robot.py index 312912d5..091d0230 100644 --- a/app_chatgpt/models/ai_robot.py +++ b/app_chatgpt/models/ai_robot.py @@ -57,6 +57,39 @@ GPT-3 A set of models that can understand and generate natural language else: return _('No robot provider found') + def get_ai_model_info(self): + self.ensure_one() + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.openapi_api_key}"} + R_TIMEOUT = 300 + o_url = "https://api.openai.com/v1/models/%s" % self.ai_model + if self.endpoint: + o_url = self.endpoint.replace("/chat/completions", "") + "/models/%s" % self.ai_model + + response = requests.get(o_url, headers=headers, timeout=R_TIMEOUT) + response.close() + if response: + res = response.json() + r_text = json.dumps(res, indent=2) + else: + r_text = 'No response.' + raise UserError(r_text) + + def get_ai_list_model(self): + self.ensure_one() + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.openapi_api_key}"} + R_TIMEOUT = 300 + o_url = "https://api.openai.com/v1/models" + if self.endpoint: + o_url = self.endpoint.replace("/chat/completions", "") + "/models" + response = requests.get(o_url, headers=headers, timeout=R_TIMEOUT) + response.close() + if response: + res = response.json() + r_text = json.dumps(res, indent=2) + else: + r_text = 'No response.' + raise UserError(r_text) + def get_openai(self, data, partner_name='odoo', *args): self.ensure_one() headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.openapi_api_key}"} @@ -130,20 +163,27 @@ GPT-3 A set of models that can understand and generate natural language raise UserError(_("Please Set your AI robot's API Version first.")) openai.api_version = self.api_version openai.api_key = self.openapi_api_key - response = openai.Completion.create( - engine=self.engine, - prompt=data, - temperature=self.temperature or 0.9, - max_tokens=self.max_length or 600, - top_p=0.5, - frequency_penalty=0, - presence_penalty=0, stop=["Human:", "AI:"]) - - _logger.warning('=====================azure input data: %s' % data) + pdata = { + "engine": self.engine, + "prompt": data, + "temperature": self.temperature or 0.9, + "max_tokens": self.max_length or 600, + "top_p": 0.5, + "frequency_penalty": 0, + "presence_penalty": 0, + "stop": ["Human:", "AI:"], + } + _logger.warning('=====================azure input data: %s' % pdata) + response = openai.Completion.create(pdata) + if 'choices' in response: res = response['choices'][0]['text'].replace(' .', '.').strip() res = self.filter_sensitive_words(res) return res + else: + _logger.warning('=====================azure output data: %s' % response) + return _('Azure no response') + @api.onchange('provider') def _onchange_provider(self): @@ -156,8 +196,9 @@ GPT-3 A set of models that can understand and generate natural language if self.is_filtering: search = WordsSearch() s = self.sensitive_words - search.SetKeywords(s.split('\n')) - result = search.Replace(text=data) - return result + if s: + search.SetKeywords(s.split('\n')) + data = search.Replace(text=data) + return data else: return data diff --git a/app_chatgpt/models/res.json b/app_chatgpt/models/res.json new file mode 100644 index 00000000..a95ec0e9 --- /dev/null +++ b/app_chatgpt/models/res.json @@ -0,0 +1,21 @@ +{ + 'id': 'chatcmpl-747IRWr2Ij3HA6NVTWp4ZTnEA2grW', + 'object': 'chat.completion', + 'created': 1681215715, + 'model': 'gpt-3.5-turbo-0301', + 'usage': { + 'prompt_tokens': 17, + 'completion_tokens': 38, + 'total_tokens': 55 + }, + 'choices': [ + { + 'message': { + 'role': 'assistant', + 'content': '非常抱歉,我不太理解您在说什么。 可以提供更多背景信息或上下文吗?' + }, + 'finish_reason': 'stop', + 'index': 0 + } + ] +} \ No newline at end of file diff --git a/app_chatgpt/models/z_list_model.json b/app_chatgpt/models/z_list_model.json index 14a86749..30b05a80 100644 --- a/app_chatgpt/models/z_list_model.json +++ b/app_chatgpt/models/z_list_model.json @@ -50,15 +50,15 @@ "parent": null }, { - "id": "gpt-3.5-turbo-0301", + "id": "text-davinci-edit-001", "object": "model", - "created": 1677649963, + "created": 1649809179, "owned_by": "openai", "permission": [ { - "id": "modelperm-ms2DpLH5OCOZpUikJ4sRQNkh", + "id": "modelperm-otmQSS0hmabtVGHI9QB3bct3", "object": "model_permission", - "created": 1677691853, + "created": 1679934178, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -70,31 +70,7 @@ "is_blocking": false } ], - "root": "gpt-3.5-turbo-0301", - "parent": null - }, - { - "id": "text-davinci-003", - "object": "model", - "created": 1669599635, - "owned_by": "openai-internal", - "permission": [ - { - "id": "modelperm-6CAfTW5IbFpnlziQKoDilahq", - "object": "model_permission", - "created": 1677793558, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-davinci-003", + "root": "text-davinci-edit-001", "parent": null }, { @@ -145,6 +121,54 @@ "root": "text-similarity-babbage-001", "parent": null }, + { + "id": "gpt-3.5-turbo", + "object": "model", + "created": 1677610602, + "owned_by": "openai", + "permission": [ + { + "id": "modelperm-bLTRGdHW2gpCOsvg9LiXq7tX", + "object": "model_permission", + "created": 1681168143, + "allow_create_engine": false, + "allow_sampling": true, + "allow_logprobs": true, + "allow_search_indices": false, + "allow_view": true, + "allow_fine_tuning": false, + "organization": "*", + "group": null, + "is_blocking": false + } + ], + "root": "gpt-3.5-turbo", + "parent": null + }, + { + "id": "code-davinci-edit-001", + "object": "model", + "created": 1649880484, + "owned_by": "openai", + "permission": [ + { + "id": "modelperm-Foe5Y4TvaKveYxt74oKMw8IB", + "object": "model_permission", + "created": 1679934178, + "allow_create_engine": false, + "allow_sampling": true, + "allow_logprobs": true, + "allow_search_indices": false, + "allow_view": true, + "allow_fine_tuning": false, + "organization": "*", + "group": null, + "is_blocking": false + } + ], + "root": "code-davinci-edit-001", + "parent": null + }, { "id": "text-davinci-001", "object": "model", @@ -193,30 +217,6 @@ "root": "ada", "parent": null }, - { - "id": "curie-instruct-beta", - "object": "model", - "created": 1649364042, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-JlSyMbxXeFm42SDjN0wTD26Y", - "object": "model_permission", - "created": 1669070162, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "curie-instruct-beta", - "parent": null - }, { "id": "babbage-code-search-text", "object": "model", @@ -266,15 +266,15 @@ "parent": null }, { - "id": "gpt-3.5-turbo", + "id": "gpt-3.5-turbo-0301", "object": "model", - "created": 1677610602, + "created": 1677649963, "owned_by": "openai", "permission": [ { - "id": "modelperm-ZErASyl63fhYUeMMk7QKOHAB", + "id": "modelperm-ktA0Xuzvxbe26mhuWenoLxx4", "object": "model_permission", - "created": 1677691854, + "created": 1681168143, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -286,31 +286,7 @@ "is_blocking": false } ], - "root": "gpt-3.5-turbo", - "parent": null - }, - { - "id": "code-davinci-002", - "object": "model", - "created": 1649880485, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-8hC5jvDSIXgYe2NPyomfyFJr", - "object": "model_permission", - "created": 1677737839, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "code-davinci-002", + "root": "gpt-3.5-turbo-0301", "parent": null }, { @@ -338,39 +314,15 @@ "parent": null }, { - "id": "text-embedding-ada-002", + "id": "text-curie-001", "object": "model", - "created": 1671217299, - "owned_by": "openai-internal", - "permission": [ - { - "id": "modelperm-ThMneEHcUgdBaIucwREqRj2a", - "object": "model_permission", - "created": 1677075687, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": true, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-embedding-ada-002", - "parent": null - }, - { - "id": "code-cushman-001", - "object": "model", - "created": 1656081837, + "created": 1649364043, "owned_by": "openai", "permission": [ { - "id": "modelperm-M6pwNXr8UmY3mqdUEe4VFXdY", + "id": "modelperm-8InhPV3CZfN3F5QHKoJd4zRD", "object": "model_permission", - "created": 1669066355, + "created": 1679310997, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -382,7 +334,7 @@ "is_blocking": false } ], - "root": "code-cushman-001", + "root": "text-curie-001", "parent": null }, { @@ -392,9 +344,9 @@ "owned_by": "openai-internal", "permission": [ { - "id": "modelperm-MX888R5RhewPTR12HguE4hM2", + "id": "modelperm-JdDYm8KjLd5xnGMGVlwX1UAp", "object": "model_permission", - "created": 1677691932, + "created": 1680896832, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -434,15 +386,15 @@ "parent": null }, { - "id": "audio-transcribe-deprecated", + "id": "text-davinci-003", "object": "model", - "created": 1674776185, + "created": 1669599635, "owned_by": "openai-internal", "permission": [ { - "id": "modelperm-IPCtO1a9wW5TDxGCIqy0iVfK", + "id": "modelperm-eX6Zax2krvLf9WtfO3NN9YJh", "object": "model_permission", - "created": 1674776185, + "created": 1680551675, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -454,7 +406,7 @@ "is_blocking": false } ], - "root": "audio-transcribe-deprecated", + "root": "text-davinci-003", "parent": null }, { @@ -481,6 +433,30 @@ "root": "text-ada-001", "parent": null }, + { + "id": "text-embedding-ada-002", + "object": "model", + "created": 1671217299, + "owned_by": "openai-internal", + "permission": [ + { + "id": "modelperm-Dbv2FOgMdlDjO8py8vEjD5Mi", + "object": "model_permission", + "created": 1678892857, + "allow_create_engine": false, + "allow_sampling": true, + "allow_logprobs": true, + "allow_search_indices": true, + "allow_view": true, + "allow_fine_tuning": false, + "organization": "*", + "group": null, + "is_blocking": false + } + ], + "root": "text-embedding-ada-002", + "parent": null + }, { "id": "text-similarity-ada-001", "object": "model", @@ -506,15 +482,15 @@ "parent": null }, { - "id": "text-davinci-insert-002", + "id": "curie-instruct-beta", "object": "model", - "created": 1649880484, + "created": 1649364042, "owned_by": "openai", "permission": [ { - "id": "modelperm-V5YQoSyiapAf4km5wisXkNXh", + "id": "modelperm-bsg59MlOi88CMf1MjnIKrT5a", "object": "model_permission", - "created": 1669066354, + "created": 1680267269, "allow_create_engine": false, "allow_sampling": true, "allow_logprobs": true, @@ -526,7 +502,7 @@ "is_blocking": false } ], - "root": "text-davinci-insert-002", + "root": "curie-instruct-beta", "parent": null }, { @@ -625,54 +601,6 @@ "root": "text-search-ada-query-001", "parent": null }, - { - "id": "text-curie-001", - "object": "model", - "created": 1649364043, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-fGAoEKBH01KNZ3zz81Sro34Q", - "object": "model_permission", - "created": 1669066352, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-curie-001", - "parent": null - }, - { - "id": "text-davinci-edit-001", - "object": "model", - "created": 1649809179, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-VzNMGrIRm3HxhEl64gkjZdEh", - "object": "model_permission", - "created": 1669066354, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-davinci-edit-001", - "parent": null - }, { "id": "davinci-search-document", "object": "model", @@ -745,30 +673,6 @@ "root": "text-search-ada-doc-001", "parent": null }, - { - "id": "code-davinci-edit-001", - "object": "model", - "created": 1649880484, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-WwansDxcKNvZtKugNqJnsvfv", - "object": "model_permission", - "created": 1669066354, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "code-davinci-edit-001", - "parent": null - }, { "id": "davinci-instruct-beta", "object": "model", @@ -937,30 +841,6 @@ "root": "davinci-search-query", "parent": null }, - { - "id": "text-davinci-insert-001", - "object": "model", - "created": 1649880484, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-3gRQMBOMoccZIURE3ZxboZWA", - "object": "model_permission", - "created": 1669066354, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-davinci-insert-001", - "parent": null - }, { "id": "babbage-search-document", "object": "model", @@ -1057,30 +937,6 @@ "root": "text-search-babbage-doc-001", "parent": null }, - { - "id": "text-davinci-002", - "object": "model", - "created": 1649880484, - "owned_by": "openai", - "permission": [ - { - "id": "modelperm-kOLsgLs7IgI9PTPI245IRWZH", - "object": "model_permission", - "created": 1676585871, - "allow_create_engine": false, - "allow_sampling": true, - "allow_logprobs": true, - "allow_search_indices": false, - "allow_view": true, - "allow_fine_tuning": false, - "organization": "*", - "group": null, - "is_blocking": false - } - ], - "root": "text-davinci-002", - "parent": null - }, { "id": "curie-search-document", "object": "model", @@ -1297,6 +1153,30 @@ "root": "text-similarity-davinci-001", "parent": null }, + { + "id": "text-davinci-002", + "object": "model", + "created": 1649880484, + "owned_by": "openai", + "permission": [ + { + "id": "modelperm-l4EU6QlN1HcS0so0jU16kyg8", + "object": "model_permission", + "created": 1679355287, + "allow_create_engine": false, + "allow_sampling": true, + "allow_logprobs": true, + "allow_search_indices": false, + "allow_view": true, + "allow_fine_tuning": false, + "organization": "*", + "group": null, + "is_blocking": false + } + ], + "root": "text-davinci-002", + "parent": null + }, { "id": "davinci-similarity", "object": "model", diff --git a/app_chatgpt/static/description/chatgpt_green.jpg b/app_chatgpt/static/description/chatgpt_green.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f3350c62b40beb1e0ca9097f6ffcfc697fcf5077 GIT binary patch literal 20442 zcmeFZXH=72w>BC@MNmMbDFQ)?AP7j4PDG?CL~5wvp*QKhMnyzvk*+93dQGHvQ0ZN2 z=)L!nP(ldj=Gl*Xzx(~hSI&3-o{X`^A|xdDT=$yuy5=?K;%ww>26RJJQAH7S;lc&b z-;c9d5Wj-AtrZBQrUv2xesvXe@i7QQ0{ry%J04&7d;aI$Akf)3NFGE^N=in0g`Dgv z*|lrr*QsvbprWLtVxecad7Fdv9w$31I~zBj#6xbLN4#w8LQjPrNy$8Z{P^BO#b*k# zsuGaLGUp$1;o7xpR1{RqH*PS?+-JWp^Z)vB_5(zH^}^VNF_H^xpo`QONT@HIHG#mu zbzcUo`%eRb=NCyXUA{tkm5lrv@P@J*podQCp3d&uf z(J&=tbD?}XCR)IEVd-bhp#vn z?OcCNDZ4jw__01QBO`^I_?ioF!+^O>_{m*V7Z2hcbp>u6Kl~tC1O?Z%HXr)5fT4Ka z!8-$!#(%D5_<0APoa-^~z&Oro^!bzL2eMON-REbZn|!VG2SN=sl_racGlB|k&mI;W z6pLpkV&aFDOvIWD4|-$l9fQi}3<*46lck4Kw%W-NHQ=MfW%0D{-qpREOnWUDzwR#) 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 literal 0 HcmV?d00001 diff --git a/app_chatgpt/views/ai_robot_views.xml b/app_chatgpt/views/ai_robot_views.xml index 3312a223..59f8f2ef 100644 --- a/app_chatgpt/views/ai_robot_views.xml +++ b/app_chatgpt/views/ai_robot_views.xml @@ -22,6 +22,8 @@
+