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
a3f8d5dd
Commit
a3f8d5dd
authored
Dec 17, 2025
by
zhuwenwen
Browse files
Merge tag 'v0.13.0rc2' into v0.13.0rc2-ori
parents
8d75f22e
f34eca5f
Changes
499
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
206 additions
and
56 deletions
+206
-56
vllm/tool_parsers/__init__.py
vllm/tool_parsers/__init__.py
+150
-0
vllm/tool_parsers/abstract_tool_parser.py
vllm/tool_parsers/abstract_tool_parser.py
+2
-2
vllm/tool_parsers/deepseekv31_tool_parser.py
vllm/tool_parsers/deepseekv31_tool_parser.py
+1
-3
vllm/tool_parsers/deepseekv32_tool_parser.py
vllm/tool_parsers/deepseekv32_tool_parser.py
+3
-3
vllm/tool_parsers/deepseekv3_tool_parser.py
vllm/tool_parsers/deepseekv3_tool_parser.py
+3
-3
vllm/tool_parsers/ernie45_tool_parser.py
vllm/tool_parsers/ernie45_tool_parser.py
+3
-3
vllm/tool_parsers/gigachat3_tool_parser.py
vllm/tool_parsers/gigachat3_tool_parser.py
+1
-1
vllm/tool_parsers/glm4_moe_tool_parser.py
vllm/tool_parsers/glm4_moe_tool_parser.py
+3
-3
vllm/tool_parsers/granite_20b_fc_tool_parser.py
vllm/tool_parsers/granite_20b_fc_tool_parser.py
+4
-4
vllm/tool_parsers/granite_tool_parser.py
vllm/tool_parsers/granite_tool_parser.py
+4
-4
vllm/tool_parsers/hermes_tool_parser.py
vllm/tool_parsers/hermes_tool_parser.py
+4
-3
vllm/tool_parsers/hunyuan_a13b_tool_parser.py
vllm/tool_parsers/hunyuan_a13b_tool_parser.py
+4
-4
vllm/tool_parsers/internlm2_tool_parser.py
vllm/tool_parsers/internlm2_tool_parser.py
+4
-4
vllm/tool_parsers/jamba_tool_parser.py
vllm/tool_parsers/jamba_tool_parser.py
+4
-3
vllm/tool_parsers/kimi_k2_tool_parser.py
vllm/tool_parsers/kimi_k2_tool_parser.py
+3
-3
vllm/tool_parsers/llama4_pythonic_tool_parser.py
vllm/tool_parsers/llama4_pythonic_tool_parser.py
+2
-2
vllm/tool_parsers/llama_tool_parser.py
vllm/tool_parsers/llama_tool_parser.py
+3
-3
vllm/tool_parsers/longcat_tool_parser.py
vllm/tool_parsers/longcat_tool_parser.py
+1
-1
vllm/tool_parsers/minimax_m2_tool_parser.py
vllm/tool_parsers/minimax_m2_tool_parser.py
+3
-3
vllm/tool_parsers/minimax_tool_parser.py
vllm/tool_parsers/minimax_tool_parser.py
+4
-4
No files found.
vllm/tool_parsers/__init__.py
0 → 100644
View file @
a3f8d5dd
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
ToolParserManager
,
)
__all__
=
[
"ToolParser"
,
"ToolParserManager"
]
"""
Register a lazy module mapping.
Example:
ToolParserManager.register_lazy_module(
name="kimi_k2",
module_path="vllm.tool_parsers.kimi_k2_parser",
class_name="KimiK2ToolParser",
)
"""
_TOOL_PARSERS_TO_REGISTER
=
{
"deepseek_v3"
:
(
# name
"deepseekv3_tool_parser"
,
# filename
"DeepSeekV3ToolParser"
,
# class_name
),
"deepseek_v31"
:
(
"deepseekv31_tool_parser"
,
"DeepSeekV31ToolParser"
,
),
"deepseek_v32"
:
(
"deepseekv32_tool_parser"
,
"DeepSeekV32ToolParser"
,
),
"ernie45"
:
(
"ernie45_tool_parser"
,
"Ernie45ToolParser"
,
),
"glm45"
:
(
"glm4_moe_tool_parser"
,
"Glm4MoeModelToolParser"
,
),
"granite-20b-fc"
:
(
"granite_20b_fc_tool_parser"
,
"Granite20bFCToolParser"
,
),
"granite"
:
(
"granite_tool_parser"
,
"GraniteToolParser"
,
),
"hermes"
:
(
"hermes_tool_parser"
,
"Hermes2ProToolParser"
,
),
"hunyuan_a13b"
:
(
"hunyuan_a13b_tool_parser"
,
"HunyuanA13BToolParser"
,
),
"internlm"
:
(
"internlm2_tool_parser"
,
"Internlm2ToolParser"
,
),
"jamba"
:
(
"jamba_tool_parser"
,
"JambaToolParser"
,
),
"kimi_k2"
:
(
"kimi_k2_tool_parser"
,
"KimiK2ToolParser"
,
),
"llama3_json"
:
(
"llama_tool_parser"
,
"Llama3JsonToolParser"
,
),
"llama4_json"
:
(
"llama_tool_parser"
,
"Llama3JsonToolParser"
,
),
"llama4_pythonic"
:
(
"llama4_pythonic_tool_parser"
,
"Llama4PythonicToolParser"
,
),
"longcat"
:
(
"longcat_tool_parser"
,
"LongcatFlashToolParser"
,
),
"minimax_m2"
:
(
"minimax_m2_tool_parser"
,
"MinimaxM2ToolParser"
,
),
"minimax"
:
(
"minimax_tool_parser"
,
"MinimaxToolParser"
,
),
"mistral"
:
(
"mistral_tool_parser"
,
"MistralToolParser"
,
),
"olmo3"
:
(
"olmo3_tool_parser"
,
"Olmo3PythonicToolParser"
,
),
"openai"
:
(
"openai_tool_parser"
,
"OpenAIToolParser"
,
),
"phi4_mini_json"
:
(
"phi4mini_tool_parser"
,
"Phi4MiniJsonToolParser"
,
),
"pythonic"
:
(
"pythonic_tool_parser"
,
"PythonicToolParser"
,
),
"qwen3_coder"
:
(
"qwen3coder_tool_parser"
,
"Qwen3CoderToolParser"
,
),
"qwen3_xml"
:
(
"qwen3xml_tool_parser"
,
"Qwen3XMLToolParser"
,
),
"seed_oss"
:
(
"seed_oss_tool_parser"
,
"SeedOssToolParser"
,
),
"step3"
:
(
"step3_tool_parser"
,
"Step3ToolParser"
,
),
"xlam"
:
(
"xlam_tool_parser"
,
"xLAMToolParser"
,
),
"gigachat3"
:
(
"gigachat3_tool_parser"
,
"GigaChat3ToolParser"
,
),
}
def
register_lazy_tool_parsers
():
for
name
,
(
file_name
,
class_name
)
in
_TOOL_PARSERS_TO_REGISTER
.
items
():
module_path
=
f
"vllm.tool_parsers.
{
file_name
}
"
ToolParserManager
.
register_lazy_module
(
name
,
module_path
,
class_name
)
register_lazy_tool_parsers
()
vllm/
entrypoints/openai/
tool_parsers/abstract_tool_parser.py
→
vllm/tool_parsers/abstract_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,12 +17,12 @@ from vllm.entrypoints.openai.protocol import (
ResponsesRequest
,
ResponseTextConfig
,
)
from
vllm.entrypoints.openai.tool_parsers.utils
import
get_json_schema_from_tools
from
vllm.logger
import
init_logger
from
vllm.sampling_params
import
(
StructuredOutputsParams
,
)
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.utils
import
get_json_schema_from_tools
from
vllm.utils.collection_utils
import
is_list_of
from
vllm.utils.import_utils
import
import_from_path
...
...
@@ -203,7 +203,7 @@ class ToolParserManager:
Example:
ToolParserManager.register_lazy_module(
name="kimi_k2",
module_path="vllm.
entrypoints.openai.
tool_parsers.kimi_k2_parser",
module_path="vllm.tool_parsers.kimi_k2_parser",
class_name="KimiK2ToolParser",
)
"""
...
...
vllm/
entrypoints/openai/
tool_parsers/deepseekv31_tool_parser.py
→
vllm/tool_parsers/deepseekv31_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -15,11 +15,9 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
ToolParser
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/deepseekv32_tool_parser.py
→
vllm/tool_parsers/deepseekv32_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,11 +17,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/deepseekv3_tool_parser.py
→
vllm/tool_parsers/deepseekv3_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -15,11 +15,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/ernie45_tool_parser.py
→
vllm/tool_parsers/ernie45_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -15,11 +15,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/gigachat3_tool_parser.py
→
vllm/tool_parsers/gigachat3_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -16,9 +16,9 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
ToolParser
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
ToolParser
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/glm4_moe_tool_parser.py
→
vllm/tool_parsers/glm4_moe_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -18,11 +18,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/granite_20b_fc_tool_parser.py
→
vllm/tool_parsers/granite_20b_fc_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -19,17 +19,17 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.
entrypoints.openai.
tool_parsers.utils
import
(
from
vllm.tool_parsers.utils
import
(
consume_space
,
find_common_prefix
,
is_complete_json
,
partial_json_loads
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/granite_tool_parser.py
→
vllm/tool_parsers/granite_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,17 +17,17 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.
entrypoints.openai.
tool_parsers.utils
import
(
from
vllm.tool_parsers.utils
import
(
consume_space
,
find_common_prefix
,
is_complete_json
,
partial_json_loads
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/hermes_tool_parser.py
→
vllm/tool_parsers/hermes_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -18,11 +18,12 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tokenizers.mistral
import
MistralTokenizer
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
MistralTokenizer
,
TokenizerLike
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/hunyuan_a13b_tool_parser.py
→
vllm/tool_parsers/hunyuan_a13b_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,12 +17,12 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.entrypoints.openai.tool_parsers.utils
import
consume_space
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.tool_parsers.utils
import
consume_space
from
vllm.utils
import
random_uuid
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/internlm2_tool_parser.py
→
vllm/tool_parsers/internlm2_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,12 +17,12 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.entrypoints.openai.tool_parsers.utils
import
extract_intermediate_diff
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.tool_parsers.utils
import
extract_intermediate_diff
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/jamba_tool_parser.py
→
vllm/tool_parsers/jamba_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -18,10 +18,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers
import
ToolParser
from
vllm.entrypoints.openai.tool_parsers.utils
import
extract_intermediate_diff
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
MistralTokenizer
,
TokenizerLike
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tokenizers.mistral
import
MistralTokenizer
from
vllm.tool_parsers
import
ToolParser
from
vllm.tool_parsers.utils
import
extract_intermediate_diff
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/kimi_k2_tool_parser.py
→
vllm/tool_parsers/kimi_k2_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -15,11 +15,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/llama4_pythonic_tool_parser.py
→
vllm/tool_parsers/llama4_pythonic_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -18,10 +18,10 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
from
vllm.logger
import
init_logger
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/llama_tool_parser.py
→
vllm/tool_parsers/llama_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -20,15 +20,15 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
from
vllm.logger
import
init_logger
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.
entrypoints.openai.
tool_parsers.utils
import
(
from
vllm.tool_parsers.utils
import
(
find_common_prefix
,
is_complete_json
,
partial_json_loads
,
)
from
vllm.logger
import
init_logger
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/longcat_tool_parser.py
→
vllm/tool_parsers/longcat_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -3,8 +3,8 @@
import
regex
as
re
from
vllm.entrypoints.openai.tool_parsers.hermes_tool_parser
import
Hermes2ProToolParser
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.hermes_tool_parser
import
Hermes2ProToolParser
class
LongcatFlashToolParser
(
Hermes2ProToolParser
):
...
...
vllm/
entrypoints/openai/
tool_parsers/minimax_m2_tool_parser.py
→
vllm/tool_parsers/minimax_m2_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,11 +17,11 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
logger
=
init_logger
(
__name__
)
...
...
vllm/
entrypoints/openai/
tool_parsers/minimax_tool_parser.py
→
vllm/tool_parsers/minimax_tool_parser.py
View file @
a3f8d5dd
...
...
@@ -17,12 +17,12 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall
,
ToolCall
,
)
from
vllm.entrypoints.openai.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.entrypoints.openai.tool_parsers.utils
import
extract_intermediate_diff
from
vllm.logger
import
init_logger
from
vllm.tokenizers
import
TokenizerLike
from
vllm.tool_parsers.abstract_tool_parser
import
(
ToolParser
,
)
from
vllm.tool_parsers.utils
import
extract_intermediate_diff
logger
=
init_logger
(
__name__
)
...
...
Prev
1
…
18
19
20
21
22
23
24
25
Next
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