diff --git a/tensorrt_llm/llmapi/reasoning_parser.py b/tensorrt_llm/llmapi/reasoning_parser.py index 933a9520b4..409741bef2 100644 --- a/tensorrt_llm/llmapi/reasoning_parser.py +++ b/tensorrt_llm/llmapi/reasoning_parser.py @@ -35,6 +35,7 @@ class DeepSeekR1Parser(BaseReasoningParser): """ def __init__(self): + self.reasoning_begin = "" self.reasoning_end = "" self.in_reasoning = True @@ -57,6 +58,8 @@ def parse(self, text: str) -> ReasoningParserResult: splits = text.split(self.reasoning_end, maxsplit=1) reasoning_content = splits[0] + if reasoning_content.startswith(self.reasoning_begin): + reasoning_content = reasoning_content[len(self.reasoning_begin):] content = splits[1] reasoning_parser_result = self._create_reasoning_end_result( @@ -74,6 +77,8 @@ def parse_delta(self, delta_text: str) -> ReasoningParserResult: return reasoning_parser_result if self.in_reasoning: + if delta_text.startswith(self.reasoning_begin): + delta_text = delta_text[len(self.reasoning_begin):] return ReasoningParserResult(self.in_reasoning, reasoning_content=delta_text)