mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
Merge branch '16.0' of https://github.com/guohuadeng/app-odoo into 16.0
# Conflicts: # app_chatgpt/models/ai_robot.py
This commit is contained in:
@@ -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-30 10:30+0000\n"
|
||||
"PO-Revision-Date: 2023-03-30 10:30+0000\n"
|
||||
"POT-Creation-Date: 2023-04-12 08:53+0000\n"
|
||||
"PO-Revision-Date: 2023-04-12 08:53+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -420,6 +420,11 @@ msgstr ""
|
||||
msgid "ABCD"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__ai_completion_tokens
|
||||
msgid "AI Completion Tokens"
|
||||
msgstr "AI使用Token"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__ai_model
|
||||
msgid "AI Model"
|
||||
@@ -478,13 +483,13 @@ msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "Ai Center(Chatgpt)"
|
||||
msgstr "Ai服务中心(Chatgpt)"
|
||||
msgid "After timeout seconds then Disconnect"
|
||||
msgstr "上下文连接超时(秒)"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "Seconds"
|
||||
msgstr "秒"
|
||||
msgid "Ai Center(Chatgpt)"
|
||||
msgstr "Ai服务中心(Chatgpt)"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all
|
||||
@@ -558,6 +563,13 @@ msgstr ""
|
||||
msgid "Azure"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-python
|
||||
#: code:addons/app_chatgpt/models/ai_robot.py:0
|
||||
#, python-format
|
||||
msgid "Azure no response"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -588,6 +600,7 @@ msgid "Bactrian"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner__gpt_id
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__gpt_id
|
||||
msgid "Bind to ChatGpt"
|
||||
msgstr "绑定至ChatGpt"
|
||||
@@ -768,6 +781,16 @@ msgstr ""
|
||||
msgid "Config Settings"
|
||||
msgstr "配置设置"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
||||
msgid "Connect Timout"
|
||||
msgstr "上下文连接超时"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model,name:app_chatgpt.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "联系人"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__create_uid
|
||||
msgid "Created by"
|
||||
@@ -851,6 +874,11 @@ msgstr ""
|
||||
msgid "END arrow"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model,name:app_chatgpt.model_mail_thread
|
||||
msgid "Email Thread"
|
||||
msgstr "EMail线程"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__endpoint
|
||||
msgid "End Point"
|
||||
@@ -924,6 +952,11 @@ msgstr ""
|
||||
msgid "Filter Sensitive Words"
|
||||
msgstr "是否启用敏感词过滤"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__first_ask_time
|
||||
msgid "First Ask Time"
|
||||
msgstr "首次发问时间"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -976,6 +1009,16 @@ msgstr ""
|
||||
msgid "Gemini"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.ai_robot_form_view
|
||||
msgid "Get List Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.ai_robot_form_view
|
||||
msgid "Get Model Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model,name:app_chatgpt.model_ai_robot
|
||||
msgid "Gpt Robot"
|
||||
@@ -996,6 +1039,11 @@ msgstr ""
|
||||
msgid "Hindu"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__human_prompt_tokens
|
||||
msgid "Human Prompt Tokens"
|
||||
msgstr "人员使用Token"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -1068,7 +1116,6 @@ msgstr ""
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
@@ -1356,6 +1403,11 @@ msgstr ""
|
||||
msgid "Max Length"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__max_number
|
||||
msgid "Max Number of Call"
|
||||
msgstr "最大发问次数"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model,name:app_chatgpt.model_mail_message
|
||||
msgid "Message"
|
||||
@@ -1484,6 +1536,11 @@ msgstr ""
|
||||
msgid "No robot provider found"
|
||||
msgstr "没有设置Ai接口供应方"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__used_number
|
||||
msgid "Number of Used"
|
||||
msgstr "已发问次数"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -1714,6 +1771,11 @@ msgstr ""
|
||||
msgid "Scorpius"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "Seconds"
|
||||
msgstr "秒"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__limit
|
||||
msgid "Selected Users"
|
||||
@@ -1727,13 +1789,23 @@ msgstr "额外敏感词"
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__sensitive_words
|
||||
msgid "Sensitive word filtering. Separate keywords with a carriage return."
|
||||
msgstr "敏感词过滤。请用回车符分隔关键词。"
|
||||
msgstr "使用此文件进行基础过滤 models/lib/sensi_words.txt"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__sequence
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__service_end_date
|
||||
msgid "Service End Date"
|
||||
msgstr "服务到期时间"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__service_start_date
|
||||
msgid "Service Start Date"
|
||||
msgstr "服务开始时间"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -1880,6 +1952,11 @@ msgstr ""
|
||||
msgid "Temperature"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "Timout then disconnect(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -1902,6 +1979,11 @@ msgstr ""
|
||||
msgid "Tokyo tower"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__tokens_total
|
||||
msgid "Total Tokens"
|
||||
msgstr "总使用Token量"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -1959,10 +2041,20 @@ msgstr ""
|
||||
msgid "UP! button"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.app_chatgpt_res_users_form
|
||||
msgid "Usage"
|
||||
msgstr "使用情况"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__is_filtering
|
||||
msgid "Use base Filter in dir models/lib/sensi_words.txt"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model,name:app_chatgpt.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "用户"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
@@ -11554,8 +11646,6 @@ msgstr ""
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "hand"
|
||||
msgstr ""
|
||||
@@ -12525,7 +12615,6 @@ msgstr ""
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "ideograph"
|
||||
msgstr ""
|
||||
@@ -15194,9 +15283,6 @@ msgstr ""
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "mark"
|
||||
msgstr ""
|
||||
@@ -15215,27 +15301,6 @@ msgstr ""
|
||||
msgid "mark_as_good. thumbs up"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "mark_as_neutral. open hands"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "mark_as_redundant. waving hand"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "mark_as_unhelpful. Need more answer"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -16420,7 +16485,6 @@ msgstr ""
|
||||
#. module: app_chatgpt
|
||||
#. 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
|
||||
#, python-format
|
||||
msgid "neutral"
|
||||
msgstr ""
|
||||
@@ -17034,7 +17098,6 @@ msgstr ""
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "open"
|
||||
msgstr ""
|
||||
@@ -17056,7 +17119,6 @@ msgstr ""
|
||||
#. module: app_chatgpt
|
||||
#. 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
|
||||
#, python-format
|
||||
msgid "open hands"
|
||||
msgstr ""
|
||||
@@ -19868,13 +19930,6 @@ msgstr ""
|
||||
msgid "red-faced"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "redundant"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -24802,13 +24857,6 @@ msgstr ""
|
||||
msgid "unhappy"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "unhelpful"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -24949,11 +24997,6 @@ msgstr ""
|
||||
msgid "upwards button"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__sensitive_words
|
||||
msgid "Use base Filter in dir models/lib/sensi_words.txt"
|
||||
msgstr "使用此文件进行基础过滤 models/lib/sensi_words.txt"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -25402,7 +25445,6 @@ msgstr ""
|
||||
#. module: app_chatgpt
|
||||
#. 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
|
||||
#, python-format
|
||||
msgid "wave"
|
||||
msgstr ""
|
||||
@@ -25411,7 +25453,6 @@ msgstr ""
|
||||
#. 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
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "waving"
|
||||
msgstr ""
|
||||
@@ -27089,13 +27130,6 @@ msgstr ""
|
||||
msgid "“monthly amount”"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
#, python-format
|
||||
msgid "“no vacancy”"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#. odoo-javascript
|
||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||
@@ -27159,22 +27193,6 @@ msgstr ""
|
||||
msgid "ココ"
|
||||
msgstr ""
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "Connect Timout"
|
||||
msgstr "上下文连接超时"
|
||||
|
||||
#. module: app_chatgpt
|
||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||
msgid "After timeout seconds then Disconnect"
|
||||
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 "多少秒以内的聊天信息作为上下文继续"
|
||||
|
||||
@@ -6,3 +6,4 @@ from . import ai_robot
|
||||
from . import res_partner
|
||||
from . import res_users
|
||||
from . import mail_message
|
||||
from . import mail_thread
|
||||
|
||||
@@ -73,6 +73,7 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
return False
|
||||
|
||||
def get_ai_post(self, res, sender_id=False, answer_id=False, **kwargs):
|
||||
res = self.filter_sensitive_words(res)
|
||||
return res
|
||||
|
||||
def get_ai_model_info(self):
|
||||
@@ -108,12 +109,14 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
r_text = 'No response.'
|
||||
raise UserError(r_text)
|
||||
|
||||
def get_openai(self, data, partner_name='odoo', *args):
|
||||
def get_openai(self, data, sender_id, answer_id, *args):
|
||||
self.ensure_one()
|
||||
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.openapi_api_key}"}
|
||||
R_TIMEOUT = self.ai_timeout or 120
|
||||
o_url = self.endpoint or "https://api.openai.com/v1/chat/completions"
|
||||
|
||||
partner_name = 'odoo'
|
||||
# if sender_id:
|
||||
# partner_name = sender_id.name
|
||||
# 以下处理 open ai
|
||||
# 获取模型信息
|
||||
# list_model = requests.get("https://api.openai.com/v1/models", headers=headers)
|
||||
@@ -142,13 +145,32 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
}
|
||||
_logger.warning('=====================open input pdata: %s' % pdata)
|
||||
response = requests.post(o_url, data=json.dumps(pdata), headers=headers, timeout=R_TIMEOUT)
|
||||
res = response.json()
|
||||
if 'choices' in res:
|
||||
# for rec in res:
|
||||
# res = rec['message']['content']
|
||||
res = '\n'.join([x['message']['content'] for x in res['choices']])
|
||||
res = self.filter_sensitive_words(res)
|
||||
return res
|
||||
try:
|
||||
res = response.json()
|
||||
if 'usage' in res:
|
||||
usage = res['usage']
|
||||
prompt_tokens = usage['prompt_tokens']
|
||||
completion_tokens = usage['completion_tokens']
|
||||
total_tokens = usage['total_tokens']
|
||||
vals = {
|
||||
'human_prompt_tokens': sender_id.human_prompt_tokens + prompt_tokens,
|
||||
'ai_completion_tokens': sender_id.ai_completion_tokens + completion_tokens,
|
||||
'tokens_total': sender_id.tokens_total + total_tokens,
|
||||
'used_number': sender_id.used_number + 1,
|
||||
}
|
||||
if not sender_id.first_ask_time:
|
||||
ask_date = response.headers.get("Date")
|
||||
vals.update({
|
||||
'first_ask_time': ask_date
|
||||
})
|
||||
sender_id.write(vals)
|
||||
if 'choices' in res:
|
||||
# for rec in res:
|
||||
# res = rec['message']['content']
|
||||
res = '\n'.join([x['message']['content'] for x in res['choices']])
|
||||
return res
|
||||
except Exception as e:
|
||||
_logger.warning("Get Response Json failed: %s", e)
|
||||
else:
|
||||
pdata = {
|
||||
"model": self.ai_model,
|
||||
@@ -165,12 +187,11 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
res = response.json()
|
||||
if 'choices' in res:
|
||||
res = '\n'.join([x['text'] for x in res['choices']])
|
||||
res = self.filter_sensitive_words(res)
|
||||
return res
|
||||
|
||||
return "获取结果超时,请重新跟我聊聊。"
|
||||
|
||||
def get_azure(self, data, partner_name='odoo', *args):
|
||||
def get_azure(self, data, sender_id, answer_id, *args):
|
||||
self.ensure_one()
|
||||
# only for azure
|
||||
openai.api_type = self.provider
|
||||
@@ -196,13 +217,11 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
|
||||
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):
|
||||
if self.provider == 'openai':
|
||||
@@ -216,7 +235,9 @@ GPT-3 A set of models that can understand and generate natural language
|
||||
s = self.sensitive_words
|
||||
if s:
|
||||
search.SetKeywords(s.split('\n'))
|
||||
data = search.Replace(text=data)
|
||||
else:
|
||||
search.SetKeywords([])
|
||||
data = search.Replace(text=data)
|
||||
return data
|
||||
else:
|
||||
return data
|
||||
|
||||
@@ -1197,7 +1197,7 @@ WG
|
||||
清华同方
|
||||
毛江独裁
|
||||
妹妹被操的淫水直流
|
||||
本?拉登
|
||||
本拉登
|
||||
奶头
|
||||
99BBS
|
||||
嫩穴美女挖嫩穴淫女嫩穴俱乐部
|
||||
@@ -1678,7 +1678,6 @@ fuck新手指导员
|
||||
骚妇掰B
|
||||
超级乐者
|
||||
战牌
|
||||
ur
|
||||
轮大
|
||||
江湖 淫娘
|
||||
yuming
|
||||
@@ -1727,7 +1726,6 @@ sb
|
||||
诛仙
|
||||
毛信息产业部
|
||||
毛四川独立
|
||||
ri
|
||||
再奸
|
||||
法惀功
|
||||
發@淪
|
||||
@@ -3699,7 +3697,7 @@ fuck新闻管制
|
||||
piss
|
||||
和两勇男玩39P
|
||||
rfa
|
||||
本?拉登
|
||||
本拉登
|
||||
毛meimei黄站
|
||||
米开朗基罗
|
||||
温暖湿润的感觉笼罩龟头周围
|
||||
@@ -3741,7 +3739,7 @@ mo li bao bei
|
||||
粉红的的奶頭粉嫩的阴唇
|
||||
香港淫穴
|
||||
網捷信
|
||||
欽 本 立
|
||||
欽本立
|
||||
谢中之
|
||||
龟头挤进了姐姐的小穴
|
||||
花园bt亚洲激情区
|
||||
@@ -7731,7 +7729,7 @@ Priston Tale
|
||||
soma
|
||||
K他命
|
||||
李文斌
|
||||
钦 本 立
|
||||
钦本立
|
||||
卓奧
|
||||
奥运
|
||||
新诗年鉴
|
||||
|
||||
@@ -45,7 +45,9 @@ class Channel(models.Model):
|
||||
return '\n'.join(prompt[::-1])
|
||||
|
||||
def get_ai(self, ai, prompt, partner_name, channel, user_id, message):
|
||||
res = ai.get_ai(prompt, partner_name)
|
||||
sender_id = message.create_uid.partner_id
|
||||
answer_id = user_id.partner_id
|
||||
res = ai.get_ai(prompt, sender_id, answer_id)
|
||||
if res:
|
||||
res = res.replace('\n', '<br/>')
|
||||
channel.with_user(user_id).message_post(body=res, message_type='comment', subtype_xmlid='mail.mt_comment', parent_id=message.id)
|
||||
|
||||
18
app_chatgpt/models/mail_thread.py
Normal file
18
app_chatgpt/models/mail_thread.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import fields, models, api, _
|
||||
from .lib.WordsSearch import WordsSearch
|
||||
|
||||
|
||||
class MailThread(models.AbstractModel):
|
||||
_inherit = "mail.thread"
|
||||
|
||||
@api.returns('mail.message', lambda value: value.id)
|
||||
def message_post(self, **kwargs):
|
||||
self.ensure_one()
|
||||
search = WordsSearch()
|
||||
search.SetKeywords([])
|
||||
body = kwargs.get('body', False)
|
||||
body = search.Replace(text=body)
|
||||
kwargs.update({'body': body})
|
||||
return super(MailThread, self).message_post(**kwargs)
|
||||
@@ -14,3 +14,13 @@ class ResUsers(models.Model):
|
||||
], string='Allowed Conversation Mode', default='all', ondelete='set default')
|
||||
gpt_wl_users = fields.Many2many('res.users', 'res_users_res_users_rel', 'robot_id', 'user_id', string='Allowed Users', domain="[('id', '!=', id)]")
|
||||
gpt_demo_time = fields.Integer('Default Demo Time', default=0)
|
||||
|
||||
first_ask_time = fields.Datetime('First Ask Time')
|
||||
service_start_date = fields.Datetime('Service Start Date')
|
||||
service_end_date = fields.Datetime('Service End Date')
|
||||
used_number = fields.Integer('Number of Used')
|
||||
max_number = fields.Integer('Max Number of Call')
|
||||
human_prompt_tokens = fields.Integer('Human Prompt Tokens')
|
||||
ai_completion_tokens = fields.Integer('AI Completion Tokens')
|
||||
tokens_total = fields.Integer('Total Tokens')
|
||||
|
||||
|
||||
@@ -15,6 +15,18 @@
|
||||
<field name="gpt_demo_time"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group string="Usage">
|
||||
<field name="first_ask_time"/>
|
||||
<field name="service_start_date"/>
|
||||
<field name="service_end_date"/>
|
||||
<field name="used_number"/>
|
||||
<field name="max_number"/>
|
||||
<field name="human_prompt_tokens"/>
|
||||
<field name="ai_completion_tokens"/>
|
||||
<field name="tokens_total"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user