Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
7636d436
Commit
7636d436
authored
Nov 17, 2025
by
chenych
Browse files
Add minimax_m2
parent
e712dcbb
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1266 additions
and
0 deletions
+1266
-0
vllm/entrypoints/openai/tool_parsers/__init__.py
vllm/entrypoints/openai/tool_parsers/__init__.py
+2
-0
vllm/entrypoints/openai/tool_parsers/minimax_m2_tool_parser.py
...entrypoints/openai/tool_parsers/minimax_m2_tool_parser.py
+643
-0
vllm/model_executor/models/minimax_m2.py
vllm/model_executor/models/minimax_m2.py
+552
-0
vllm/model_executor/models/registry.py
vllm/model_executor/models/registry.py
+1
-0
vllm/reasoning/__init__.py
vllm/reasoning/__init__.py
+2
-0
vllm/reasoning/minimax_m2_reasoning_parser.py
vllm/reasoning/minimax_m2_reasoning_parser.py
+66
-0
No files found.
vllm/entrypoints/openai/tool_parsers/__init__.py
View file @
7636d436
...
@@ -25,6 +25,7 @@ from .qwen3xml_tool_parser import Qwen3XMLToolParser
...
@@ -25,6 +25,7 @@ from .qwen3xml_tool_parser import Qwen3XMLToolParser
from
.seed_oss_tool_parser
import
SeedOssToolParser
from
.seed_oss_tool_parser
import
SeedOssToolParser
from
.step3_tool_parser
import
Step3ToolParser
from
.step3_tool_parser
import
Step3ToolParser
from
.xlam_tool_parser
import
xLAMToolParser
from
.xlam_tool_parser
import
xLAMToolParser
from
.minimax_m2_tool_parser
import
MinimaxM2ToolParser
__all__
=
[
__all__
=
[
"ToolParser"
,
"ToolParser"
,
...
@@ -52,4 +53,5 @@ __all__ = [
...
@@ -52,4 +53,5 @@ __all__ = [
"SeedOssToolParser"
,
"SeedOssToolParser"
,
"Step3ToolParser"
,
"Step3ToolParser"
,
"OpenAIToolParser"
,
"OpenAIToolParser"
,
"MinimaxM2ToolParser"
,
]
]
vllm/entrypoints/openai/tool_parsers/minimax_m2_tool_parser.py
0 → 100644
View file @
7636d436
This diff is collapsed.
Click to expand it.
vllm/model_executor/models/minimax_m2.py
0 → 100644
View file @
7636d436
This diff is collapsed.
Click to expand it.
vllm/model_executor/models/registry.py
View file @
7636d436
...
@@ -52,6 +52,7 @@ _TEXT_GENERATION_MODELS = {
...
@@ -52,6 +52,7 @@ _TEXT_GENERATION_MODELS = {
"MiniMaxForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxText01ForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxText01ForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxM1ForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxM1ForCausalLM"
:
(
"minimax_text_01"
,
"MiniMaxText01ForCausalLM"
),
"MiniMaxM2ForCausalLM"
:
(
"minimax_m2"
,
"MiniMaxM2ForCausalLM"
),
# baichuan-7b, upper case 'C' in the class name
# baichuan-7b, upper case 'C' in the class name
"BaiChuanForCausalLM"
:
(
"baichuan"
,
"BaiChuanForCausalLM"
),
"BaiChuanForCausalLM"
:
(
"baichuan"
,
"BaiChuanForCausalLM"
),
# baichuan-13b, lower case 'c' in the class name
# baichuan-13b, lower case 'c' in the class name
...
...
vllm/reasoning/__init__.py
View file @
7636d436
...
@@ -12,6 +12,7 @@ from .mistral_reasoning_parser import MistralReasoningParser
...
@@ -12,6 +12,7 @@ from .mistral_reasoning_parser import MistralReasoningParser
from
.qwen3_reasoning_parser
import
Qwen3ReasoningParser
from
.qwen3_reasoning_parser
import
Qwen3ReasoningParser
from
.seedoss_reasoning_parser
import
SeedOSSReasoningParser
from
.seedoss_reasoning_parser
import
SeedOSSReasoningParser
from
.step3_reasoning_parser
import
Step3ReasoningParser
from
.step3_reasoning_parser
import
Step3ReasoningParser
from
.minimax_m2_reasoning_parser
import
MiniMaxM2ReasoningParser
__all__
=
[
__all__
=
[
"ReasoningParser"
,
"ReasoningParser"
,
...
@@ -27,4 +28,5 @@ __all__ = [
...
@@ -27,4 +28,5 @@ __all__ = [
"Step3ReasoningParser"
,
"Step3ReasoningParser"
,
"GptOssReasoningParser"
,
"GptOssReasoningParser"
,
"SeedOSSReasoningParser"
,
"SeedOSSReasoningParser"
,
"MiniMaxM2ReasoningParser"
,
]
]
vllm/reasoning/minimax_m2_reasoning_parser.py
0 → 100644
View file @
7636d436
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from
collections.abc
import
Sequence
from
vllm.entrypoints.openai.protocol
import
(
ChatCompletionRequest
,
DeltaMessage
,
)
from
vllm.logger
import
init_logger
from
vllm.reasoning
import
ReasoningParser
from
vllm.reasoning.basic_parsers
import
BaseThinkingReasoningParser
from
vllm.transformers_utils.tokenizer
import
AnyTokenizer
logger
=
init_logger
(
__name__
)
class
MiniMaxM2ReasoningParser
(
BaseThinkingReasoningParser
):
"""
Reasoning parser for MiniMax M2 model.
"""
@
property
def
start_token
(
self
)
->
str
:
"""The token that starts reasoning content."""
return
"<think>"
@
property
def
end_token
(
self
)
->
str
:
"""The token that ends reasoning content."""
return
"</think>"
class
MiniMaxM2AppendThinkReasoningParser
(
ReasoningParser
):
"""
Reasoning parser for MiniMax M2 model.
"""
def
__init__
(
self
,
tokenizer
:
AnyTokenizer
,
*
args
,
**
kwargs
):
super
().
__init__
(
tokenizer
,
*
args
,
**
kwargs
)
self
.
end_token_id
=
self
.
vocab
.
get
(
"</think>"
)
def
is_reasoning_end
(
self
,
input_ids
:
list
[
int
])
->
bool
:
end_token_id
=
self
.
end_token_id
return
any
(
input_id
==
end_token_id
for
input_id
in
reversed
(
input_ids
))
def
extract_content_ids
(
self
,
input_ids
:
list
[
int
])
->
list
[
int
]:
return
input_ids
def
extract_reasoning_streaming
(
self
,
previous_text
:
str
,
current_text
:
str
,
delta_text
:
str
,
previous_token_ids
:
Sequence
[
int
],
current_token_ids
:
Sequence
[
int
],
delta_token_ids
:
Sequence
[
int
],
)
->
DeltaMessage
|
None
:
if
len
(
previous_token_ids
)
==
0
:
delta_text
=
"<think>"
+
delta_text
return
DeltaMessage
(
content
=
delta_text
)
def
extract_reasoning
(
self
,
model_output
:
str
,
request
:
ChatCompletionRequest
)
->
tuple
[
str
|
None
,
str
|
None
]:
return
None
,
"<think>"
+
model_output
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment