fix: 修复一部分超限的报错
perf: web search稳定性和精确度优化
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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查看详情。')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user