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}",