diff --git a/vllm/reasoning/minimax_m2_reasoning_parser.py b/vllm/reasoning/minimax_m2_reasoning_parser.py index d0333a76b..e4deaed41 100644 --- a/vllm/reasoning/minimax_m2_reasoning_parser.py +++ b/vllm/reasoning/minimax_m2_reasoning_parser.py @@ -87,10 +87,15 @@ class MiniMaxM2AppendThinkReasoningParser(ReasoningParser): def __init__(self, tokenizer: TokenizerLike, *args, **kwargs): super().__init__(tokenizer, *args, **kwargs) self.end_token_id = self.vocab.get("") + self.start_token_id = self.vocab.get("") def is_reasoning_end(self, input_ids: Sequence[int]) -> bool: end_token_id = self.end_token_id - return any(input_id == end_token_id for input_id in reversed(input_ids)) + start_token_id = self.start_token_id + for input_id in reversed(input_ids): + if input_id in (end_token_id, start_token_id): + return input_id == end_token_id + return False def extract_content_ids(self, input_ids: list[int]) -> list[int]: return input_ids