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>
|
<field name="value">300</field>
|
||||||
</record>
|
</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>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
@@ -6,8 +6,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 16.0+e-20230320\n"
|
"Project-Id-Version: Odoo Server 16.0+e-20230320\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-29 07:58+0000\n"
|
"POT-Creation-Date: 2023-03-30 10:30+0000\n"
|
||||||
"PO-Revision-Date: 2023-03-29 07:58+0000\n"
|
"PO-Revision-Date: 2023-03-30 10:30+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -476,6 +476,11 @@ msgstr ""
|
|||||||
msgid "Africa"
|
msgid "Africa"
|
||||||
msgstr ""
|
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
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all
|
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all
|
||||||
msgid "All Users"
|
msgid "All Users"
|
||||||
@@ -530,6 +535,11 @@ msgstr ""
|
|||||||
msgid "Asia"
|
msgid "Asia"
|
||||||
msgstr ""
|
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
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -648,7 +658,6 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: app_chatgpt
|
#. 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.app_chatgpt_res_users_form
|
||||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
|
||||||
msgid "ChatGPT"
|
msgid "ChatGPT"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -808,7 +817,7 @@ msgstr ""
|
|||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model,name:app_chatgpt.model_mail_channel
|
#: model:ir.model,name:app_chatgpt.model_mail_channel
|
||||||
msgid "Discussion Channel"
|
msgid "Discussion Channel"
|
||||||
msgstr "讨论频道"
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__display_name
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__display_name
|
||||||
@@ -1345,7 +1354,7 @@ msgstr ""
|
|||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model,name:app_chatgpt.model_mail_message
|
#: model:ir.model,name:app_chatgpt.model_mail_message
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr "消息"
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -1463,6 +1472,13 @@ msgstr ""
|
|||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
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
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1771,6 +1787,16 @@ msgstr ""
|
|||||||
msgid "Symbols"
|
msgid "Symbols"
|
||||||
msgstr ""
|
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
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -27134,6 +27160,11 @@ msgstr ""
|
|||||||
msgid "上下文连接超时 秒数"
|
msgid "上下文连接超时 秒数"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||||
|
msgid "同步配置"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,help:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
#: model:ir.model.fields,help:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
||||||
msgid "多少秒以内的聊天信息作为上下文继续"
|
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
|
openapi_context_timeout = int(self.env['ir.config_parameter'].sudo().get_param('app_chatgpt.openapi_context_timeout')) or 600
|
||||||
except:
|
except:
|
||||||
openapi_context_timeout = 600
|
openapi_context_timeout = 600
|
||||||
|
sync_config = self.env['ir.config_parameter'].sudo().get_param('app_chatgpt.openai_sync_config')
|
||||||
openai.api_key = api_key
|
openai.api_key = api_key
|
||||||
partner_name = ''
|
partner_name = ''
|
||||||
# print(msg_vals)
|
# 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']:
|
# 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)
|
prompt = self.get_openai_context(channel.id, to_partner_id.id, prompt, openapi_context_timeout)
|
||||||
print(prompt)
|
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 = ai.get_ai(prompt, partner_name)
|
||||||
# res = res.replace('\n', '<br/>')
|
# res = res.replace('\n', '<br/>')
|
||||||
# print('res:',res)
|
# 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}')
|
_logger.info(f'频道群聊:author_id:{author_id},partner_chatgpt.id:{to_partner_id.id}')
|
||||||
try:
|
try:
|
||||||
prompt = self.get_openai_context(chatgpt_channel_id.id, to_partner_id.id, prompt, openapi_context_timeout)
|
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 = ai.get_ai(prompt, 'odoo')
|
||||||
# res = res.replace('\n', '<br/>')
|
# 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)
|
# 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"
|
_inherit = "res.config.settings"
|
||||||
|
|
||||||
openapi_context_timeout = fields.Integer(string="上下文连接超时", help="多少秒以内的聊天信息作为上下文继续", config_parameter="app_chatgpt.openapi_context_timeout")
|
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="inherit_id" ref="base_setup.res_config_settings_view_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//div[@name='integration']" position="after">
|
<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 row o_settings_container" id="chatgpt_integraion">
|
||||||
<div class="col-xs-12 col-md-10 o_setting_box">
|
<div class="col-xs-12 col-md-10 o_setting_box">
|
||||||
<div class="o_setting_right_pane border-start-0">
|
<div class="o_setting_right_pane border-start-0">
|
||||||
@@ -15,6 +15,10 @@
|
|||||||
<label class="col-lg-2" string="上下文连接超时" for="openapi_context_timeout"/>
|
<label class="col-lg-2" string="上下文连接超时" for="openapi_context_timeout"/>
|
||||||
<field name="openapi_context_timeout" title="上下文连接超时 秒数" style="width: 10% !important;"/>秒
|
<field name="openapi_context_timeout" title="上下文连接超时 秒数" style="width: 10% !important;"/>秒
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user