From 56e1ef36024bf9c074df3d640908c16d58424613 Mon Sep 17 00:00:00 2001 From: Rock Chin <1010553892@qq.com> Date: Fri, 7 Jul 2023 16:35:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dreset=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=BC=95=E8=B5=B7=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/openai/session.py | 4 ++-- pkg/qqbot/message.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/openai/session.py b/pkg/openai/session.py index 96d56d3c..06b00757 100644 --- a/pkg/openai/session.py +++ b/pkg/openai/session.py @@ -327,7 +327,7 @@ class Session: json.dumps(self.prompt), json.dumps(self.default_prompt), json.dumps(self.token_counts)) # 重置session - def reset(self, explicit: bool = False, expired: bool = False, schedule_new: bool = True, use_prompt: str = None): + def reset(self, explicit: bool = False, expired: bool = False, schedule_new: bool = True, use_prompt: str = None, persist: bool = False): if self.prompt: self.persistence() if explicit: @@ -345,7 +345,7 @@ class Session: if expired: pkg.utils.context.get_database_manager().set_session_expired(self.name, self.create_timestamp) - if use_prompt: + if not persist: # 不要求保持default prompt self.default_prompt = self.get_default_prompt(use_prompt) self.prompt = [] self.token_counts = [] diff --git a/pkg/qqbot/message.py b/pkg/qqbot/message.py index 4c0207df..b4dcbfba 100644 --- a/pkg/qqbot/message.py +++ b/pkg/qqbot/message.py @@ -115,7 +115,7 @@ def process_normal_message(text_message: str, mgr, config, launcher_type: str, "[bot]err:RateLimitError,请重试或联系作者,或等待修复") except openai.error.InvalidRequestError as e: if config.auto_reset and "This model's maximum context length is" in str(e): - session.reset() + session.reset(persist=True) reply = [tips_custom.session_auto_reset_message] else: reply = handle_exception("{}API调用参数错误:{}\n".format(