diff --git a/app_chatgpt/__manifest__.py b/app_chatgpt/__manifest__.py
index 2acbdb89..fa7c32cc 100644
--- a/app_chatgpt/__manifest__.py
+++ b/app_chatgpt/__manifest__.py
@@ -10,7 +10,7 @@
{
'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心,聚合全网Ai',
- 'version': '18.0.25.01.06',
+ 'version': '18.0.25.01.08',
'author': 'odooai.cn',
'company': 'odooai.cn',
'maintainer': 'odooai.cn',
diff --git a/app_chatgpt/data/user_partner_data.xml b/app_chatgpt/data/user_partner_data.xml
index 9c52057f..439413f4 100644
--- a/app_chatgpt/data/user_partner_data.xml
+++ b/app_chatgpt/data/user_partner_data.xml
@@ -9,6 +9,7 @@
chatgpt@example.com
+
@@ -54,6 +55,7 @@
chatgpt3_azure@example.com
+
@@ -68,6 +70,7 @@
chatgpt4_azure@example.com
+
@@ -82,6 +85,7 @@
chatgpt4_32k_azure@example.com
+
diff --git a/app_chatgpt/models/ai_robot.py b/app_chatgpt/models/ai_robot.py
index c81ab552..6d314f9b 100644
--- a/app_chatgpt/models/ai_robot.py
+++ b/app_chatgpt/models/ai_robot.py
@@ -3,6 +3,7 @@
import os
from openai import OpenAI
from openai import AzureOpenAI
+# from openai.error import OpenAIError
import requests, json
import base64
@@ -192,8 +193,12 @@ GPT-3 A set of models that can understand and generate natural language
# _logger.warning('===========Ai响应:%s' % content)
elif self.provider == 'azure':
# azure 格式
- usage = res['usage']
- content = res['choices'][0]['message']['content']
+ if res.get('error'):
+ usage = False
+ content = res.get('error')
+ else:
+ usage = res['usage']
+ content = res['choices'][0]['message']['content']
else:
usage = False
content = res
@@ -338,20 +343,28 @@ GPT-3 A set of models that can understand and generate natural language
api_key=self.openapi_api_key,
timeout=request_timeout
)
- response = client.chat.completions.create(
- model=self.engine,
- messages=messages,
- # 返回的回答数量
- n=1,
- max_tokens=max_tokens,
- temperature=temperature,
- top_p=top_p,
- frequency_penalty=frequency_penalty,
- presence_penalty=presence_penalty,
- stop=None,
- )
- res = response.model_dump()
- if 'choices' in res:
+ try:
+ response = client.chat.completions.create(
+ model=self.engine,
+ messages=messages,
+ # 返回的回答数量
+ n=1,
+ max_tokens=max_tokens,
+ temperature=temperature,
+ top_p=top_p,
+ frequency_penalty=frequency_penalty,
+ presence_penalty=presence_penalty,
+ stop=None,
+ )
+ res = response.model_dump()
+ except Exception as e:
+ # 处理OpenAI相关错误
+ res = {
+ 'code': e.code,
+ 'usage': False,
+ 'error': str(e),
+ }
+ if 'choices' in res or 'error' in res:
return res
else:
_logger.warning('=====================azure output data: %s' % response.json())