mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
【app_chatgpt】增加配置可以同步也可以异步处理对话
This commit is contained in:
@@ -7,5 +7,10 @@
|
||||
<field name="value">300</field>
|
||||
</record>
|
||||
|
||||
<record id="openai_sync_config" model="ir.config_parameter">
|
||||
<field name="key">app_chatgpt.openai_sync_config</field>
|
||||
<field name="value">sync</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -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 "多少秒以内的聊天信息作为上下文继续"
|
||||
|
||||
@@ -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', '<br/>')
|
||||
# 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', '<br/>')
|
||||
# chatgpt_channel_id.with_user(user_id).message_post(body=res, message_type='comment', subtype_xmlid='mail.mt_comment', parent_id=message.id)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='integration']" position="after">
|
||||
<h2>ChatGPT</h2>
|
||||
<h2>Ai Center</h2>
|
||||
<div class="col-xs-12 row o_settings_container" id="chatgpt_integraion">
|
||||
<div class="col-xs-12 col-md-10 o_setting_box">
|
||||
<div class="o_setting_right_pane border-start-0">
|
||||
@@ -15,6 +15,10 @@
|
||||
<label class="col-lg-2" string="上下文连接超时" for="openapi_context_timeout"/>
|
||||
<field name="openapi_context_timeout" title="上下文连接超时 秒数" style="width: 10% !important;"/>秒
|
||||
</div>
|
||||
<div class="row mt0">
|
||||
<label class="col-lg-2" string="同步配置" for="openai_sync_config"/>
|
||||
<field name="openai_sync_config" title="同步配置" style="width: 10% !important;"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user