Skip to content

Commit 443641c

Browse files
chaunceyjiangLucaskabela
authored andcommitted
[Refactor] [2/N] Move tool parsers into the vLLM main directory (vllm-project#30675)
Signed-off-by: chaunceyjiang <[email protected]>
1 parent b69b5d7 commit 443641c

File tree

61 files changed

+288
-257
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+288
-257
lines changed

docs/features/tool_calling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ Flags: `--tool-call-parser pythonic --chat-template {see_above}`
420420

421421
## How to Write a Tool Parser Plugin
422422

423-
A tool parser plugin is a Python file containing one or more ToolParser implementations. You can write a ToolParser similar to the `Hermes2ProToolParser` in [vllm/entrypoints/openai/tool_parsers/hermes_tool_parser.py](../../vllm/entrypoints/openai/tool_parsers/hermes_tool_parser.py).
423+
A tool parser plugin is a Python file containing one or more ToolParser implementations. You can write a ToolParser similar to the `Hermes2ProToolParser` in [vllm/tool_parsers/hermes_tool_parser.py](../../vllm/tool_parsers/hermes_tool_parser.py).
424424

425425
Here is a summary of a plugin file:
426426

@@ -468,7 +468,7 @@ Here is a summary of a plugin file:
468468
# register the tool parser to ToolParserManager
469469
ToolParserManager.register_lazy_module(
470470
name="example",
471-
module_path="vllm.entrypoints.openai.tool_parsers.example",
471+
module_path="vllm.tool_parsers.example",
472472
class_name="ExampleToolParser",
473473
)
474474

tests/entrypoints/openai/test_serving_chat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
)
2020
from vllm.entrypoints.openai.serving_chat import OpenAIServingChat
2121
from vllm.entrypoints.openai.serving_models import BaseModelPath, OpenAIServingModels
22-
from vllm.entrypoints.openai.tool_parsers import ToolParserManager
2322
from vllm.outputs import CompletionOutput, RequestOutput
2423
from vllm.tokenizers import get_tokenizer
24+
from vllm.tool_parsers import ToolParserManager
2525
from vllm.v1.engine.async_llm import AsyncLLM
2626

2727
from ...utils import RemoteOpenAIServer

tests/entrypoints/openai/tool_parsers/test_gigachat3_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
run_tool_extraction_streaming,
1111
)
1212
from vllm.entrypoints.openai.protocol import FunctionCall
13-
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager
1413
from vllm.tokenizers import TokenizerLike
14+
from vllm.tool_parsers import ToolParser, ToolParserManager
1515

1616
SIMPLE_ARGS_DICT = {
1717
"action": "create",

tests/entrypoints/openai/tool_parsers/test_hermes_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import pytest
77

88
from vllm.entrypoints.openai.protocol import ChatCompletionRequest
9-
from vllm.entrypoints.openai.tool_parsers.hermes_tool_parser import Hermes2ProToolParser
109
from vllm.tokenizers import TokenizerLike
10+
from vllm.tool_parsers.hermes_tool_parser import Hermes2ProToolParser
1111

1212
from ....utils import RemoteOpenAIServer
1313

tests/entrypoints/openai/tool_parsers/test_hunyuan_a13b_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
run_tool_extraction_streaming,
1313
)
1414
from vllm.entrypoints.openai.protocol import FunctionCall, ToolCall
15-
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager
15+
from vllm.tool_parsers import ToolParser, ToolParserManager
1616

1717

1818
def make_tool_call(name, arguments):

tests/entrypoints/openai/tool_parsers/test_llama3_json_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import pytest
77

88
from vllm.entrypoints.openai.protocol import ExtractedToolCallInformation
9-
from vllm.entrypoints.openai.tool_parsers.llama_tool_parser import Llama3JsonToolParser
109
from vllm.tokenizers import TokenizerLike
10+
from vllm.tool_parsers.llama_tool_parser import Llama3JsonToolParser
1111

1212

1313
@pytest.fixture

tests/entrypoints/openai/tool_parsers/test_llama4_pythonic_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
run_tool_extraction_streaming,
1111
)
1212
from vllm.entrypoints.openai.protocol import FunctionCall
13-
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager
1413
from vllm.tokenizers import TokenizerLike
14+
from vllm.tool_parsers import ToolParser, ToolParserManager
1515

1616
# Test cases similar to pythonic parser but with Llama4 specific format
1717
SIMPLE_FUNCTION_OUTPUT = "[get_weather(city='LA', metric='C')]"

tests/entrypoints/openai/tool_parsers/test_olmo3_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
run_tool_extraction_streaming,
1111
)
1212
from vllm.entrypoints.openai.protocol import FunctionCall
13-
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager
1413
from vllm.tokenizers import TokenizerLike
14+
from vllm.tool_parsers import ToolParser, ToolParserManager
1515

1616
# https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/text_prompt_format.md#model-response-format-1
1717
SIMPLE_FUNCTION_OUTPUT = "get_weather(city='San Francisco', metric='celsius')"

tests/entrypoints/openai/tool_parsers/test_pythonic_tool_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
run_tool_extraction_streaming,
1111
)
1212
from vllm.entrypoints.openai.protocol import FunctionCall
13-
from vllm.entrypoints.openai.tool_parsers import ToolParser, ToolParserManager
1413
from vllm.tokenizers import TokenizerLike
14+
from vllm.tool_parsers import ToolParser, ToolParserManager
1515

1616
# https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/text_prompt_format.md#model-response-format-1
1717
SIMPLE_FUNCTION_OUTPUT = "get_weather(city='San Francisco', metric='celsius')"

tests/entrypoints/openai/tool_parsers/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
FunctionCall,
1111
ToolCall,
1212
)
13-
from vllm.entrypoints.openai.tool_parsers import ToolParser
1413
from vllm.tokenizers import TokenizerLike
14+
from vllm.tool_parsers import ToolParser
1515

1616

1717
class StreamingToolReconstructor:

0 commit comments

Comments
 (0)