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)