From 0773490c77e40e0e3f2e592d5d455f54e8cd0343 Mon Sep 17 00:00:00 2001 From: Rock Chin <1010553892@qq.com> Date: Thu, 9 Feb 2023 14:33:24 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20The=20server=20had=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=97=B6=E9=87=8D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/qqbot/message.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/qqbot/message.py b/pkg/qqbot/message.py index 05e0d6f1..3724b669 100644 --- a/pkg/qqbot/message.py +++ b/pkg/qqbot/message.py @@ -29,8 +29,15 @@ def process_normal_message(text_message: str, mgr, config, launcher_type: str, session = pkg.openai.session.get_session(session_name) + unexpected_exception_times = 0 + + max_unexpected_exception_times = 3 + reply = [] while True: + if unexpected_exception_times >= max_unexpected_exception_times: + reply = handle_exception(notify_admin=f"[bot]{session_name},多次尝试失败。", set_reply=f"[bot]多次尝试失败,请重试或联系管理员") + break try: prefix = "[GPT]" if hasattr(config, "show_prefix") and config.show_prefix else "" @@ -92,6 +99,12 @@ def process_normal_message(text_message: str, mgr, config, launcher_type: str, continue elif 'message' in e.error and e.error['message'].__contains__('You can retry your request'): # 重试 + unexpected_exception_times += 1 + continue + elif 'message' in e.error and e.error['message']\ + .__contains__('The server had an error while processing your request'): + # 重试 + unexpected_exception_times += 1 continue else: reply = handle_exception("{}会话调用API失败:{}".format(session_name, e),