mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
opt 优化 chatgpt 接口,将错误提示也响应。
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心,聚合全网Ai',
|
'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心,聚合全网Ai',
|
||||||
'version': '18.0.25.01.06',
|
'version': '18.0.25.01.08',
|
||||||
'author': 'odooai.cn',
|
'author': 'odooai.cn',
|
||||||
'company': 'odooai.cn',
|
'company': 'odooai.cn',
|
||||||
'maintainer': 'odooai.cn',
|
'maintainer': 'odooai.cn',
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<field name="login">chatgpt@example.com</field>
|
<field name="login">chatgpt@example.com</field>
|
||||||
<field name="partner_id" ref="app_chatgpt.partner_chatgpt"/>
|
<field name="partner_id" ref="app_chatgpt.partner_chatgpt"/>
|
||||||
<field name="gpt_id" ref="app_chatgpt.chatgpt_robot"/>
|
<field name="gpt_id" ref="app_chatgpt.chatgpt_robot"/>
|
||||||
|
<field name="is_chat_private" eval="True"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
||||||
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
||||||
@@ -54,6 +55,7 @@
|
|||||||
<field name="email">chatgpt3_azure@example.com</field>
|
<field name="email">chatgpt3_azure@example.com</field>
|
||||||
<field name="partner_id" ref="app_chatgpt.partner_chatgpt3_azure"/>
|
<field name="partner_id" ref="app_chatgpt.partner_chatgpt3_azure"/>
|
||||||
<field name="gpt_id" ref="app_chatgpt.chatgpt3_azure"/>
|
<field name="gpt_id" ref="app_chatgpt.chatgpt3_azure"/>
|
||||||
|
<field name="is_chat_private" eval="True"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
||||||
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
<field name="email">chatgpt4_azure@example.com</field>
|
<field name="email">chatgpt4_azure@example.com</field>
|
||||||
<field name="partner_id" ref="app_chatgpt.partner_chatgpt4_azure"/>
|
<field name="partner_id" ref="app_chatgpt.partner_chatgpt4_azure"/>
|
||||||
<field name="gpt_id" ref="app_chatgpt.chatgpt4_azure"/>
|
<field name="gpt_id" ref="app_chatgpt.chatgpt4_azure"/>
|
||||||
|
<field name="is_chat_private" eval="True"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
||||||
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
||||||
@@ -82,6 +85,7 @@
|
|||||||
<field name="email">chatgpt4_32k_azure@example.com</field>
|
<field name="email">chatgpt4_32k_azure@example.com</field>
|
||||||
<field name="partner_id" ref="app_chatgpt.partner_chatgpt4_32k_azure"/>
|
<field name="partner_id" ref="app_chatgpt.partner_chatgpt4_32k_azure"/>
|
||||||
<field name="gpt_id" ref="app_chatgpt.chatgpt4_32k_azure"/>
|
<field name="gpt_id" ref="app_chatgpt.chatgpt4_32k_azure"/>
|
||||||
|
<field name="is_chat_private" eval="True"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
<field name="company_ids" eval="[Command.link(ref('base.main_company'))]"/>
|
||||||
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
<field name="groups_id" eval="[Command.link(ref('base.group_user'))]"/>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
import os
|
import os
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
from openai import AzureOpenAI
|
from openai import AzureOpenAI
|
||||||
|
# from openai.error import OpenAIError
|
||||||
import requests, json
|
import requests, json
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
@@ -192,6 +193,10 @@ GPT-3 A set of models that can understand and generate natural language
|
|||||||
# _logger.warning('===========Ai响应:%s' % content)
|
# _logger.warning('===========Ai响应:%s' % content)
|
||||||
elif self.provider == 'azure':
|
elif self.provider == 'azure':
|
||||||
# azure 格式
|
# azure 格式
|
||||||
|
if res.get('error'):
|
||||||
|
usage = False
|
||||||
|
content = res.get('error')
|
||||||
|
else:
|
||||||
usage = res['usage']
|
usage = res['usage']
|
||||||
content = res['choices'][0]['message']['content']
|
content = res['choices'][0]['message']['content']
|
||||||
else:
|
else:
|
||||||
@@ -338,6 +343,7 @@ GPT-3 A set of models that can understand and generate natural language
|
|||||||
api_key=self.openapi_api_key,
|
api_key=self.openapi_api_key,
|
||||||
timeout=request_timeout
|
timeout=request_timeout
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
response = client.chat.completions.create(
|
response = client.chat.completions.create(
|
||||||
model=self.engine,
|
model=self.engine,
|
||||||
messages=messages,
|
messages=messages,
|
||||||
@@ -351,7 +357,14 @@ GPT-3 A set of models that can understand and generate natural language
|
|||||||
stop=None,
|
stop=None,
|
||||||
)
|
)
|
||||||
res = response.model_dump()
|
res = response.model_dump()
|
||||||
if 'choices' in res:
|
except Exception as e:
|
||||||
|
# 处理OpenAI相关错误
|
||||||
|
res = {
|
||||||
|
'code': e.code,
|
||||||
|
'usage': False,
|
||||||
|
'error': str(e),
|
||||||
|
}
|
||||||
|
if 'choices' in res or 'error' in res:
|
||||||
return res
|
return res
|
||||||
else:
|
else:
|
||||||
_logger.warning('=====================azure output data: %s' % response.json())
|
_logger.warning('=====================azure output data: %s' % response.json())
|
||||||
|
|||||||
Reference in New Issue
Block a user