From d9e24887450431b04a02d94eec01e5a5ebf97cf9 Mon Sep 17 00:00:00 2001 From: Chill Date: Thu, 30 Mar 2023 18:32:37 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90app=5Fchatgpt=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=85=8D=E7=BD=AE=E5=8F=AF=E4=BB=A5=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=B9=9F=E5=8F=AF=E4=BB=A5=E5=BC=82=E6=AD=A5=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_chatgpt/data/ir_config_parameter.xml | 5 +++ app_chatgpt/i18n/zh_CN.po | 41 ++++++++++++++++--- app_chatgpt/models/mail_channel.py | 12 ++++-- app_chatgpt/models/res_config_settings.py | 4 ++ .../views/res_config_settings_views.xml | 6 ++- 5 files changed, 59 insertions(+), 9 deletions(-) diff --git a/app_chatgpt/data/ir_config_parameter.xml b/app_chatgpt/data/ir_config_parameter.xml index 7c38b01c..89542a03 100644 --- a/app_chatgpt/data/ir_config_parameter.xml +++ b/app_chatgpt/data/ir_config_parameter.xml @@ -7,5 +7,10 @@ 300 + + app_chatgpt.openai_sync_config + sync + + \ No newline at end of file diff --git a/app_chatgpt/i18n/zh_CN.po b/app_chatgpt/i18n/zh_CN.po index 3f170f4a..1804e4a0 100644 --- a/app_chatgpt/i18n/zh_CN.po +++ b/app_chatgpt/i18n/zh_CN.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0+e-20230320\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-03-29 07:58+0000\n" -"PO-Revision-Date: 2023-03-29 07:58+0000\n" +"POT-Creation-Date: 2023-03-30 10:30+0000\n" +"PO-Revision-Date: 2023-03-30 10:30+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -476,6 +476,11 @@ msgstr "" msgid "Africa" msgstr "" +#. module: app_chatgpt +#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view +msgid "Ai Center" +msgstr "" + #. module: app_chatgpt #: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all msgid "All Users" @@ -530,6 +535,11 @@ msgstr "" msgid "Asia" msgstr "" +#. module: app_chatgpt +#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_config_settings__openai_sync_config__async +msgid "Asynchronous" +msgstr "异步响应" + #. module: app_chatgpt #. odoo-javascript #: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0 @@ -648,7 +658,6 @@ msgstr "" #. module: app_chatgpt #: model_terms:ir.ui.view,arch_db:app_chatgpt.app_chatgpt_res_users_form -#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view msgid "ChatGPT" msgstr "" @@ -808,7 +817,7 @@ msgstr "" #. module: app_chatgpt #: model:ir.model,name:app_chatgpt.model_mail_channel msgid "Discussion Channel" -msgstr "讨论频道" +msgstr "" #. module: app_chatgpt #: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__display_name @@ -1345,7 +1354,7 @@ msgstr "" #. module: app_chatgpt #: model:ir.model,name:app_chatgpt.model_mail_message msgid "Message" -msgstr "消息" +msgstr "" #. module: app_chatgpt #. odoo-javascript @@ -1463,6 +1472,13 @@ msgstr "" msgid "Name" msgstr "" +#. module: app_chatgpt +#. odoo-python +#: code:addons/app_chatgpt/models/ai_robot.py:0 +#, python-format +msgid "No robot provider found" +msgstr "" + #. module: app_chatgpt #. odoo-javascript #: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0 @@ -1771,6 +1787,16 @@ msgstr "" msgid "Symbols" msgstr "" +#. module: app_chatgpt +#: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openai_sync_config +msgid "Sync Config" +msgstr "同步配置" + +#. module: app_chatgpt +#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_config_settings__openai_sync_config__sync +msgid "Synchronous" +msgstr "同步响应" + #. module: app_chatgpt #. odoo-javascript #: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0 @@ -27134,6 +27160,11 @@ msgstr "" msgid "上下文连接超时 秒数" msgstr "" +#. module: app_chatgpt +#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view +msgid "同步配置" +msgstr "" + #. module: app_chatgpt #: model:ir.model.fields,help:app_chatgpt.field_res_config_settings__openapi_context_timeout msgid "多少秒以内的聊天信息作为上下文继续" diff --git a/app_chatgpt/models/mail_channel.py b/app_chatgpt/models/mail_channel.py index ab5631b2..8e66d4b0 100644 --- a/app_chatgpt/models/mail_channel.py +++ b/app_chatgpt/models/mail_channel.py @@ -102,7 +102,7 @@ class Channel(models.Model): openapi_context_timeout = int(self.env['ir.config_parameter'].sudo().get_param('app_chatgpt.openapi_context_timeout')) or 600 except: openapi_context_timeout = 600 - + sync_config = self.env['ir.config_parameter'].sudo().get_param('app_chatgpt.openai_sync_config') openai.api_key = api_key partner_name = '' # print(msg_vals) @@ -116,7 +116,10 @@ class Channel(models.Model): # if ai_model not in ['gpt-3.5-turbo', 'gpt-3.5-turbo-0301']: prompt = self.get_openai_context(channel.id, to_partner_id.id, prompt, openapi_context_timeout) print(prompt) - self.with_delay().get_ai(ai, prompt, partner_name, channel, user_id, message) + if sync_config == 'sync': + self.get_ai(ai, prompt, partner_name, channel, user_id, message) + else: + self.with_delay().get_ai(ai, prompt, partner_name, channel, user_id, message) # res = ai.get_ai(prompt, partner_name) # res = res.replace('\n', '
') # print('res:',res) @@ -136,7 +139,10 @@ class Channel(models.Model): _logger.info(f'频道群聊:author_id:{author_id},partner_chatgpt.id:{to_partner_id.id}') try: prompt = self.get_openai_context(chatgpt_channel_id.id, to_partner_id.id, prompt, openapi_context_timeout) - self.with_delay().get_ai(ai, prompt, 'odoo', chatgpt_channel_id, user_id, message) + if sync_config == 'sync': + self.get_ai(ai, prompt, 'odoo', chatgpt_channel_id, user_id, message) + else: + self.with_delay().get_ai(ai, prompt, 'odoo', chatgpt_channel_id, user_id, message) # res = ai.get_ai(prompt, 'odoo') # res = res.replace('\n', '
') # chatgpt_channel_id.with_user(user_id).message_post(body=res, message_type='comment', subtype_xmlid='mail.mt_comment', parent_id=message.id) diff --git a/app_chatgpt/models/res_config_settings.py b/app_chatgpt/models/res_config_settings.py index fb6af4f0..d7b7623b 100644 --- a/app_chatgpt/models/res_config_settings.py +++ b/app_chatgpt/models/res_config_settings.py @@ -7,3 +7,7 @@ class ResConfigSettings(models.TransientModel): _inherit = "res.config.settings" openapi_context_timeout = fields.Integer(string="上下文连接超时", help="多少秒以内的聊天信息作为上下文继续", config_parameter="app_chatgpt.openapi_context_timeout") + openai_sync_config = fields.Selection([ + ('sync', 'Synchronous'), + ('async', 'Asynchronous') + ], string='Sync Config', default='sync', config_parameter="app_chatgpt.openai_sync_config") diff --git a/app_chatgpt/views/res_config_settings_views.xml b/app_chatgpt/views/res_config_settings_views.xml index f9efc366..24b01e35 100644 --- a/app_chatgpt/views/res_config_settings_views.xml +++ b/app_chatgpt/views/res_config_settings_views.xml @@ -6,7 +6,7 @@ -

ChatGPT

+

Ai Center

@@ -15,6 +15,10 @@
+
+