Skip to content

Commit 86a7637

Browse files
chaunceyjiangxuebwang-amd
authored andcommitted
[Refactor] Lazy import tool_parser (vllm-project#27974)
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com> Signed-off-by: xuebwang-amd <xuebwang@amd.com>
1 parent de38902 commit 86a7637

40 files changed

+267
-159
lines changed

docs/features/tool_calling.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@ Here is a summary of a plugin file:
407407
# the name list in register_module can be used
408408
# in --tool-call-parser. you can define as many
409409
# tool parsers as you want here.
410-
@ToolParserManager.register_module(["example"])
411410
class ExampleToolParser(ToolParser):
412411
def __init__(self, tokenizer: AnyTokenizer):
413412
super().__init__(tokenizer)
@@ -439,6 +438,12 @@ Here is a summary of a plugin file:
439438
return ExtractedToolCallInformation(tools_called=False,
440439
tool_calls=[],
441440
content=text)
441+
# register the tool parser to ToolParserManager
442+
ToolParserManager.register_lazy_module(
443+
name="example",
444+
module_path="vllm.entrypoints.openai.tool_parsers.example",
445+
class_name="ExampleToolParser",
446+
)
442447

443448
```
444449

tests/tool_use/test_deepseekv31_tool_parser.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
import pytest
55

6-
from vllm.entrypoints.openai.tool_parsers import DeepSeekV31ToolParser
6+
from vllm.entrypoints.openai.tool_parsers.deepseekv31_tool_parser import (
7+
DeepSeekV31ToolParser,
8+
)
79
from vllm.transformers_utils.tokenizer import get_tokenizer
810

911
MODEL = "deepseek-ai/DeepSeek-V3.1"

tests/tool_use/test_ernie45_moe_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
FunctionCall,
1414
ToolCall,
1515
)
16-
from vllm.entrypoints.openai.tool_parsers import Ernie45ToolParser
16+
from vllm.entrypoints.openai.tool_parsers.ernie45_tool_parser import Ernie45ToolParser
1717
from vllm.transformers_utils.detokenizer_utils import detokenize_incrementally
1818
from vllm.transformers_utils.tokenizer import AnyTokenizer, get_tokenizer
1919

tests/tool_use/test_glm4_moe_tool_parser.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import pytest
88

99
from vllm.entrypoints.openai.protocol import FunctionCall, ToolCall
10-
from vllm.entrypoints.openai.tool_parsers import Glm4MoeModelToolParser
10+
from vllm.entrypoints.openai.tool_parsers.glm4_moe_tool_parser import (
11+
Glm4MoeModelToolParser,
12+
)
1113
from vllm.transformers_utils.tokenizer import get_tokenizer
1214

1315
pytestmark = pytest.mark.cpu_test

tests/tool_use/test_jamba_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from partial_json_parser.core.options import Allow
1010

1111
from vllm.entrypoints.openai.protocol import DeltaMessage, FunctionCall, ToolCall
12-
from vllm.entrypoints.openai.tool_parsers import JambaToolParser
12+
from vllm.entrypoints.openai.tool_parsers.jamba_tool_parser import JambaToolParser
1313
from vllm.transformers_utils.detokenizer_utils import detokenize_incrementally
1414
from vllm.transformers_utils.tokenizer import AnyTokenizer, get_tokenizer
1515

tests/tool_use/test_kimi_k2_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pytest
88

99
from vllm.entrypoints.openai.protocol import FunctionCall, ToolCall
10-
from vllm.entrypoints.openai.tool_parsers import KimiK2ToolParser
10+
from vllm.entrypoints.openai.tool_parsers.kimi_k2_tool_parser import KimiK2ToolParser
1111
from vllm.transformers_utils.tokenizer import get_tokenizer
1212

1313
pytestmark = pytest.mark.cpu_test

tests/tool_use/test_minimax_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
FunctionCall,
1313
ToolCall,
1414
)
15-
from vllm.entrypoints.openai.tool_parsers import MinimaxToolParser
15+
from vllm.entrypoints.openai.tool_parsers.minimax_tool_parser import MinimaxToolParser
1616
from vllm.transformers_utils.tokenizer import get_tokenizer
1717

1818
pytestmark = pytest.mark.cpu_test

tests/tool_use/test_openai_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
)
1616

1717
from vllm.entrypoints.openai.protocol import FunctionCall, ToolCall
18-
from vllm.entrypoints.openai.tool_parsers import OpenAIToolParser
18+
from vllm.entrypoints.openai.tool_parsers.openai_tool_parser import OpenAIToolParser
1919
from vllm.transformers_utils.tokenizer import get_tokenizer
2020

2121
MODEL = "gpt2"

tests/tool_use/test_seed_oss_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
FunctionCall,
1515
ToolCall,
1616
)
17-
from vllm.entrypoints.openai.tool_parsers import SeedOssToolParser
17+
from vllm.entrypoints.openai.tool_parsers.seed_oss_tool_parser import SeedOssToolParser
1818
from vllm.transformers_utils.detokenizer_utils import detokenize_incrementally
1919
from vllm.transformers_utils.tokenizer import AnyTokenizer, get_tokenizer
2020

tests/tool_use/test_xlam_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
FunctionCall,
1313
ToolCall,
1414
)
15-
from vllm.entrypoints.openai.tool_parsers import xLAMToolParser
15+
from vllm.entrypoints.openai.tool_parsers.xlam_tool_parser import xLAMToolParser
1616
from vllm.transformers_utils.detokenizer_utils import detokenize_incrementally
1717
from vllm.transformers_utils.tokenizer import AnyTokenizer, get_tokenizer
1818

0 commit comments

Comments
 (0)