fix: 修复一部分超限的报错

perf: web search稳定性和精确度优化
This commit is contained in:
Soulter
2023-09-27 22:06:08 +08:00
parent 553f1b8d83
commit 08e7d4d0c6
4 changed files with 59 additions and 22 deletions
+4 -3
View File
@@ -119,7 +119,7 @@ class ProviderOpenAIOfficial(Provider):
retry = 0
response = None
err = ''
while retry < 5:
while retry < 15:
try:
response = openai.ChatCompletion.create(
messages=req,
@@ -142,9 +142,10 @@ class ProviderOpenAIOfficial(Provider):
gu.log("token超限, 清空对应缓存")
self.session_dict[session_id] = []
cache_data_list, new_record, req = self.wrap(prompt, session_id)
elif 'Limit: 3 / min. Please try again in 20s.' in str(e):
time.sleep(60)
elif 'Limit: 3 / min. Please try again in 20s.' in str(e) or "OpenAI response error" in str(e):
time.sleep(30)
else:
time.sleep(5)
gu.log(str(e), level=gu.LEVEL_ERROR)
err = str(e)
retry+=1
+2 -1
View File
@@ -152,7 +152,7 @@ class ProviderRevChatGPT(Provider):
res = ''
err_msg = ''
err_cnt = 0
while err_cnt < 5:
while err_cnt < 15:
try:
res = self.request_text(prompt, selected_revstat['obj'])
selected_revstat['busy'] = False
@@ -175,6 +175,7 @@ class ProviderRevChatGPT(Provider):
raise Exception("触发RevChatGPT请求频率限制。请1小时后再试,或者切换账号。")
gu.log(f"请求异常: {str(e)}", level=gu.LEVEL_WARNING, tag="RevChatGPT")
err_cnt += 1
time.sleep(3)
raise Exception(f'回复失败。原因:{err_msg}。如果您设置了多个账号,可以使用/switch指令切换账号。输入/switch查看详情。')