Unverified Commit c02fccdb authored by Chauncey's avatar Chauncey Committed by GitHub
Browse files

[Refactor] Lazy import tool_parser (#27974)


Signed-off-by: default avatarchaunceyjiang <chaunceyjiang@gmail.com>
parent 6ddae740
...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer, MistralTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer, MistralTokenizer
...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer, MistralTokenizer ...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer, MistralTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("hermes")
class Hermes2ProToolParser(ToolParser): class Hermes2ProToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.entrypoints.openai.tool_parsers.utils import consume_space from vllm.entrypoints.openai.tool_parsers.utils import consume_space
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -29,7 +28,6 @@ from vllm.utils import random_uuid ...@@ -29,7 +28,6 @@ from vllm.utils import random_uuid
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("hunyuan_a13b")
class HunyuanA13BToolParser(ToolParser): class HunyuanA13BToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module(["internlm"])
class Internlm2ToolParser(ToolParser): class Internlm2ToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -18,7 +18,7 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -18,7 +18,7 @@ from vllm.entrypoints.openai.protocol import (
FunctionCall, FunctionCall,
ToolCall, ToolCall,
) )
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager from vllm.entrypoints.openai.tool_parsers import ToolParser
from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -27,7 +27,6 @@ from vllm.transformers_utils.tokenizers import MistralTokenizer ...@@ -27,7 +27,6 @@ from vllm.transformers_utils.tokenizers import MistralTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("jamba")
class JambaToolParser(ToolParser): class JambaToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -17,7 +17,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -17,7 +17,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -25,7 +24,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -25,7 +24,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module(["kimi_k2"])
class KimiK2ToolParser(ToolParser): class KimiK2ToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -31,7 +30,6 @@ class _UnexpectedAstError(Exception): ...@@ -31,7 +30,6 @@ class _UnexpectedAstError(Exception):
pass pass
@ToolParserManager.register_module("llama4_pythonic")
class Llama4PythonicToolParser(ToolParser): class Llama4PythonicToolParser(ToolParser):
""" """
Toolcall parser for Llama4 that produce tool calls in a pythonic style Toolcall parser for Llama4 that produce tool calls in a pythonic style
......
...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.entrypoints.openai.tool_parsers.utils import ( from vllm.entrypoints.openai.tool_parsers.utils import (
find_common_prefix, find_common_prefix,
...@@ -33,8 +32,6 @@ from vllm.logger import init_logger ...@@ -33,8 +32,6 @@ from vllm.logger import init_logger
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("llama3_json")
@ToolParserManager.register_module("llama4_json")
class Llama3JsonToolParser(ToolParser): class Llama3JsonToolParser(ToolParser):
""" """
Tool call parser for Llama 3.x and 4 models intended for use with the Tool call parser for Llama 3.x and 4 models intended for use with the
......
...@@ -3,12 +3,10 @@ ...@@ -3,12 +3,10 @@
import regex as re import regex as re
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ToolParserManager
from vllm.entrypoints.openai.tool_parsers.hermes_tool_parser import Hermes2ProToolParser from vllm.entrypoints.openai.tool_parsers.hermes_tool_parser import Hermes2ProToolParser
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
@ToolParserManager.register_module("longcat")
class LongcatFlashToolParser(Hermes2ProToolParser): class LongcatFlashToolParser(Hermes2ProToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -27,7 +26,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -27,7 +26,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("minimax_m2")
class MinimaxM2ToolParser(ToolParser): class MinimaxM2ToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("minimax")
class MinimaxToolParser(ToolParser): class MinimaxToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -22,7 +22,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -22,7 +22,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -53,7 +52,6 @@ def _is_fn_name_regex_support(model_tokenizer: AnyTokenizer) -> bool: ...@@ -53,7 +52,6 @@ def _is_fn_name_regex_support(model_tokenizer: AnyTokenizer) -> bool:
) )
@ToolParserManager.register_module("mistral")
class MistralToolParser(ToolParser): class MistralToolParser(ToolParser):
""" """
Tool call parser for Mistral 7B Instruct v0.3, intended for use with Tool call parser for Mistral 7B Instruct v0.3, intended for use with
......
...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -31,7 +30,6 @@ class _UnexpectedAstError(Exception): ...@@ -31,7 +30,6 @@ class _UnexpectedAstError(Exception):
pass pass
@ToolParserManager.register_module("olmo3")
class Olmo3PythonicToolParser(ToolParser): class Olmo3PythonicToolParser(ToolParser):
""" """
Tool call parser for Olmo 3 models that produce tool calls as Tool call parser for Olmo 3 models that produce tool calls as
......
...@@ -14,7 +14,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -14,7 +14,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -26,7 +25,6 @@ else: ...@@ -26,7 +25,6 @@ else:
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("openai")
class OpenAIToolParser(ToolParser): class OpenAIToolParser(ToolParser):
def __init__(self, tokenizer: "AnyTokenizer"): def __init__(self, tokenizer: "AnyTokenizer"):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -18,14 +18,12 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -18,14 +18,12 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("phi4_mini_json")
class Phi4MiniJsonToolParser(ToolParser): class Phi4MiniJsonToolParser(ToolParser):
""" """
Tool call parser for phi-4-mini models intended for use with the Tool call parser for phi-4-mini models intended for use with the
......
...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -32,7 +31,6 @@ class _UnexpectedAstError(Exception): ...@@ -32,7 +31,6 @@ class _UnexpectedAstError(Exception):
pass pass
@ToolParserManager.register_module("pythonic")
class PythonicToolParser(ToolParser): class PythonicToolParser(ToolParser):
""" """
Tool call parser for models that produce tool calls in a pythonic style, Tool call parser for models that produce tool calls in a pythonic style,
......
...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -20,7 +20,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -28,7 +27,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("qwen3_coder")
class Qwen3CoderToolParser(ToolParser): class Qwen3CoderToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -21,7 +21,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -1165,7 +1164,6 @@ class StreamingXMLToolCallParser: ...@@ -1165,7 +1164,6 @@ class StreamingXMLToolCallParser:
self.deferred_param_raw_value = "" self.deferred_param_raw_value = ""
@ToolParserManager.register_module("qwen3_xml")
class Qwen3XMLToolParser(ToolParser): class Qwen3XMLToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
...@@ -23,7 +23,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -23,7 +23,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -31,7 +30,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer ...@@ -31,7 +30,6 @@ from vllm.transformers_utils.tokenizer import AnyTokenizer
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("seed_oss")
class SeedOssToolParser(ToolParser): class SeedOssToolParser(ToolParser):
TOOL_CALL_START = "<seed:tool_call>" TOOL_CALL_START = "<seed:tool_call>"
TOOL_CALL_END = "</seed:tool_call>" TOOL_CALL_END = "</seed:tool_call>"
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -28,7 +27,6 @@ from vllm.utils import random_uuid ...@@ -28,7 +27,6 @@ from vllm.utils import random_uuid
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module(["step3"])
class Step3ToolParser(ToolParser): class Step3ToolParser(ToolParser):
""" """
Tool parser for a model that uses a specific XML-like format for tool calls. Tool parser for a model that uses a specific XML-like format for tool calls.
......
...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -19,7 +19,6 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import ( from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
ToolParser, ToolParser,
ToolParserManager,
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
...@@ -28,7 +27,6 @@ from vllm.utils import random_uuid ...@@ -28,7 +27,6 @@ from vllm.utils import random_uuid
logger = init_logger(__name__) logger = init_logger(__name__)
@ToolParserManager.register_module("xlam")
class xLAMToolParser(ToolParser): class xLAMToolParser(ToolParser):
def __init__(self, tokenizer: AnyTokenizer): def __init__(self, tokenizer: AnyTokenizer):
super().__init__(tokenizer) super().__init__(tokenizer)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment