From 80058c781a5850a923f0e689e72e730e7a5ee45e Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Tue, 28 Jan 2025 14:03:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dr1=E6=80=9D=E8=80=83?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E9=97=AE=E9=A2=98=E5=92=8C=E5=88=86=E6=AE=B5?= =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E9=97=B4=E9=9A=94=E6=97=B6=E9=97=B4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/pipeline/respond/stage.py | 3 ++- astrbot/core/provider/sources/openai_source.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/astrbot/core/pipeline/respond/stage.py b/astrbot/core/pipeline/respond/stage.py index 95ec8b898..fd4914b30 100644 --- a/astrbot/core/pipeline/respond/stage.py +++ b/astrbot/core/pipeline/respond/stage.py @@ -22,6 +22,7 @@ class RespondStage(Stage): except BaseException as e: logger.error(f'解析分段回复的间隔时间失败。{e}') self.interval = [1.5, 3.5] + logger.info(f"分段回复间隔时间:{self.interval}") async def process(self, event: AstrMessageEvent) -> Union[None, AsyncGenerator[None, None]]: @@ -35,7 +36,7 @@ class RespondStage(Stage): # 分段回复 for comp in result.chain: await event.send(MessageChain([comp])) - await asyncio.sleep(random.uniform(self.interval[0], self.interval[1])) + await asyncio.sleep(random.uniform(self.interval[0], self.interval[1])) else: await event.send(result) await event._post_send() diff --git a/astrbot/core/provider/sources/openai_source.py b/astrbot/core/provider/sources/openai_source.py index 15931fff5..d9ae5f665 100644 --- a/astrbot/core/provider/sources/openai_source.py +++ b/astrbot/core/provider/sources/openai_source.py @@ -132,7 +132,8 @@ class ProviderOpenAIOfficial(Provider): # 适配 deepseek-r1 模型 if r'' in completion_text: - completion_text = re.sub(r'.*?', '', completion_text).strip() + completion_text = re.sub(r'.*?', '', completion_text, flags=re.DOTALL).strip() + # 可能有单标签情况 completion_text = completion_text.replace(r'', '').replace(r'', '').strip() return LLMResponse("assistant", completion_text)