@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / b8d9e4a326
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

[Model] Add optional parameter to reasoning parser constructor (#25554)

Signed-off-by: taohui <taohui3@gmail.com> Signed-off-by: Tao Hui <taohui3@gmail.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Tao Hui committed Sep 26, 2025 at 01:12 UTC b8d9e4a326f5193d094b95628baaa9de9ba452a2
8 files changed +15 -15
vllm/reasoning/abs_reasoning_parsers.py
+1 -1
@@ -34,7 +34,7 @@ class ReasoningParser:
34 It is used to extract reasoning content from the model output.
35 """
36
37 - def __init__(self, tokenizer: AnyTokenizer):
37 + def __init__(self, tokenizer: AnyTokenizer, *args, **kwargs):
38 self.model_tokenizer = tokenizer
39
40 @cached_property
vllm/reasoning/basic_parsers.py
+2 -2
@@ -35,8 +35,8 @@ class BaseThinkingReasoningParser(ReasoningParser):
35 """The token that ends reasoning content."""
36 raise NotImplementedError
37
38 - def __init__(self, tokenizer: AnyTokenizer):
39 - super().__init__(tokenizer)
38 + def __init__(self, tokenizer: AnyTokenizer, *args, **kwargs):
39 + super().__init__(tokenizer, *args, **kwargs)
40
41 if not self.model_tokenizer:
42 raise ValueError(
vllm/reasoning/glm4_moe_reasoning_parser.py
+2 -2
@@ -26,8 +26,8 @@ class Glm4MoeModelReasoningParser(ReasoningParser):
26 from the model's output.
27 """
28
29 - def __init__(self, tokenizer: PreTrainedTokenizerBase):
30 - super().__init__(tokenizer)
29 + def __init__(self, tokenizer: PreTrainedTokenizerBase, *args, **kwargs):
30 + super().__init__(tokenizer, *args, **kwargs)
31 self.think_start_token = "<think>"
32 self.think_end_token = "</think>"
33
vllm/reasoning/gptoss_reasoning_parser.py
+2 -2
@@ -24,8 +24,8 @@ class GptOssReasoningParser(ReasoningParser):
24 is only used for detecting the end of the reasoning content.
25 """
26
27 - def __init__(self, tokenizer: PreTrainedTokenizerBase):
28 - super().__init__(tokenizer)
27 + def __init__(self, tokenizer: PreTrainedTokenizerBase, *args, **kwargs):
28 + super().__init__(tokenizer, *args, **kwargs)
29 self.reasoning_end_token_ids = self.model_tokenizer.encode(
30 "<|start|>assistant<|channel|>final<|message|>")
31
vllm/reasoning/granite_reasoning_parser.py
+2 -2
@@ -24,8 +24,8 @@ class GraniteReasoningParser(ReasoningParser):
24 and "Here is my response:" to separate its thinking / response outputs.
25 """
26
27 - def __init__(self, tokenizer: PreTrainedTokenizerBase):
28 - super().__init__(tokenizer)
27 + def __init__(self, tokenizer: PreTrainedTokenizerBase, *args, **kwargs):
28 + super().__init__(tokenizer, *args, **kwargs)
29
30 # NOTE: There have been some observed occurrences of quantized
31 # instances of the current models using "Here's" instead of "Here is",
vllm/reasoning/hunyuan_a13b_reasoning_parser.py
+2 -2
@@ -40,8 +40,8 @@ class HunyuanA13BReasoningParser(ReasoningParser):
40 response ends: "\n</answer>": [524, 9399, 29]
41 """
42
43 - def __init__(self, tokenizer: PreTrainedTokenizerBase):
44 - super().__init__(tokenizer)
43 + def __init__(self, tokenizer: PreTrainedTokenizerBase, *args, **kwargs):
44 + super().__init__(tokenizer, *args, **kwargs)
45 self.think_start_expr = r"<think>\n"
46 self.think_end_expr = r"\n</think>\n"
47
vllm/reasoning/mistral_reasoning_parser.py
+2 -2
@@ -21,12 +21,12 @@ class MistralReasoningParser(DeepSeekR1ReasoningParser):
21 text. This parser extracts the reasoning content from the model output.
22 """
23
24 - def __init__(self, tokenizer: MistralTokenizer):
24 + def __init__(self, tokenizer: MistralTokenizer, *args, **kwargs):
25 if not isinstance(tokenizer, MistralTokenizer):
26 raise ValueError(
27 "The tokenizer must be an instance of MistralTokenizer.")
28
29 - ReasoningParser.__init__(self, tokenizer)
29 + ReasoningParser.__init__(self, tokenizer, *args, **kwargs)
30
31 if not self.model_tokenizer:
32 raise ValueError(
vllm/reasoning/step3_reasoning_parser.py
+2 -2
@@ -24,8 +24,8 @@ class Step3ReasoningParser(ReasoningParser):
24 text. This parser extracts all content before </think> as reasoning content.
25 """
26
27 - def __init__(self, tokenizer: PreTrainedTokenizerBase):
28 - super().__init__(tokenizer)
27 + def __init__(self, tokenizer: PreTrainedTokenizerBase, *args, **kwargs):
28 + super().__init__(tokenizer, *args, **kwargs)
29 self.think_end_token = "</think>"
30
31 self.reasoning_regex = re.compile(rf"(.*?){self.think_end_token}",