fix: 修复r1思考标签问题和分段回复间隔时间问题

This commit is contained in:
Soulter
2025-01-28 14:03:01 +08:00
parent 44bd2e36f3
commit 80058c781a
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -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()
@@ -132,7 +132,8 @@ class ProviderOpenAIOfficial(Provider):
# 适配 deepseek-r1 模型
if r'<think>' in completion_text:
completion_text = re.sub(r'<think>.*?<think/>', '', completion_text).strip()
completion_text = re.sub(r'<think>.*?</think>', '', completion_text, flags=re.DOTALL).strip()
# 可能有单标签情况
completion_text = completion_text.replace(r'<think>', '').replace(r'</think>', '').strip()
return LLMResponse("assistant", completion_text)