Unverified Commit 2e67fa75 authored by Flora Feng's avatar Flora Feng Committed by GitHub
Browse files

Fix tool_parser_cls type annotation from Callable to type[ToolParser] (#37957)


Signed-off-by: default avatarsfeng33 <4florafeng@gmail.com>
parent e3c6c10c
...@@ -4,7 +4,7 @@ import asyncio ...@@ -4,7 +4,7 @@ import asyncio
import contextlib import contextlib
import json import json
import time import time
from collections.abc import AsyncGenerator, Callable, Mapping from collections.abc import AsyncGenerator, Mapping
from dataclasses import dataclass, field from dataclasses import dataclass, field
from http import HTTPStatus from http import HTTPStatus
from typing import Any, ClassVar, Generic, Protocol, TypeAlias, TypeVar from typing import Any, ClassVar, Generic, Protocol, TypeAlias, TypeVar
...@@ -882,7 +882,7 @@ class OpenAIServing: ...@@ -882,7 +882,7 @@ class OpenAIServing:
request: ResponsesRequest | ChatCompletionRequest, request: ResponsesRequest | ChatCompletionRequest,
tokenizer: TokenizerLike | None, tokenizer: TokenizerLike | None,
enable_auto_tools: bool, enable_auto_tools: bool,
tool_parser_cls: Callable[[TokenizerLike], ToolParser] | None, tool_parser_cls: type[ToolParser] | None,
content: str | None = None, content: str | None = None,
) -> tuple[list[FunctionCall] | None, str | None]: ) -> tuple[list[FunctionCall] | None, str | None]:
function_calls = list[FunctionCall]() function_calls = list[FunctionCall]()
......
...@@ -39,7 +39,7 @@ class ResponsesParser: ...@@ -39,7 +39,7 @@ class ResponsesParser:
reasoning_parser_cls: Callable[[TokenizerLike], ReasoningParser], reasoning_parser_cls: Callable[[TokenizerLike], ReasoningParser],
response_messages: list[ResponseInputOutputItem], response_messages: list[ResponseInputOutputItem],
request: ResponsesRequest, request: ResponsesRequest,
tool_parser_cls: Callable[[TokenizerLike], ToolParser] | None, tool_parser_cls: type[ToolParser] | None,
): ):
self.response_messages: list[ResponseInputOutputItem] = ( self.response_messages: list[ResponseInputOutputItem] = (
# TODO: initial messages may not be properly typed # TODO: initial messages may not be properly typed
......
...@@ -276,7 +276,7 @@ class ParsableContext(ConversationContext): ...@@ -276,7 +276,7 @@ class ParsableContext(ConversationContext):
reasoning_parser_cls: Callable[[TokenizerLike], ReasoningParser] | None, reasoning_parser_cls: Callable[[TokenizerLike], ReasoningParser] | None,
request: ResponsesRequest, request: ResponsesRequest,
available_tools: list[str] | None, available_tools: list[str] | None,
tool_parser_cls: Callable[[TokenizerLike], ToolParser] | None, tool_parser_cls: type[ToolParser] | None,
chat_template: str | None, chat_template: str | None,
chat_template_content_format: ChatTemplateContentFormatOption, chat_template_content_format: ChatTemplateContentFormatOption,
): ):
......
...@@ -602,7 +602,7 @@ class OpenAIServingResponses(OpenAIServing): ...@@ -602,7 +602,7 @@ class OpenAIServingResponses(OpenAIServing):
request: ResponsesRequest, request: ResponsesRequest,
messages: list[ResponseInputOutputItem], messages: list[ResponseInputOutputItem],
tool_dicts: list[dict[str, Any]] | None, tool_dicts: list[dict[str, Any]] | None,
tool_parser: Callable[[TokenizerLike], ToolParser] | None, tool_parser: type[ToolParser] | None,
chat_template: str | None, chat_template: str | None,
chat_template_content_format: ChatTemplateContentFormatOption, chat_template_content_format: ChatTemplateContentFormatOption,
): ):
......
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from collections.abc import Callable, Sequence from collections.abc import Sequence
from typing import Any, Final from typing import Any, Final
from vllm import PoolingRequestOutput, PromptType from vllm import PoolingRequestOutput, PromptType
...@@ -21,7 +21,6 @@ from vllm.entrypoints.pooling.typing import ( ...@@ -21,7 +21,6 @@ from vllm.entrypoints.pooling.typing import (
from vllm.inputs.data import ProcessorInputs, SingletonPrompt from vllm.inputs.data import ProcessorInputs, SingletonPrompt
from vllm.renderers import BaseRenderer, merge_kwargs from vllm.renderers import BaseRenderer, merge_kwargs
from vllm.renderers.inputs.preprocess import parse_model_prompt, prompt_to_seq from vllm.renderers.inputs.preprocess import parse_model_prompt, prompt_to_seq
from vllm.tokenizers import TokenizerLike
from vllm.tool_parsers import ToolParser from vllm.tool_parsers import ToolParser
from vllm.utils.mistral import is_mistral_tokenizer from vllm.utils.mistral import is_mistral_tokenizer
...@@ -167,7 +166,7 @@ class PoolingIOProcessor: ...@@ -167,7 +166,7 @@ class PoolingIOProcessor:
default_template_content_format: ChatTemplateContentFormatOption, default_template_content_format: ChatTemplateContentFormatOption,
default_template_kwargs: dict[str, Any] | None, default_template_kwargs: dict[str, Any] | None,
tool_dicts: list[dict[str, Any]] | None = None, tool_dicts: list[dict[str, Any]] | None = None,
tool_parser: Callable[[TokenizerLike], ToolParser] | None = None, tool_parser: type[ToolParser] | None = None,
) -> tuple[list[ConversationMessage], list[ProcessorInputs]]: ) -> tuple[list[ConversationMessage], list[ProcessorInputs]]:
renderer = self.renderer renderer = self.renderer
......
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from collections.abc import Callable, Sequence from collections.abc import Sequence
from http import HTTPStatus from http import HTTPStatus
from typing import Any from typing import Any
...@@ -45,7 +45,6 @@ from vllm.renderers.inputs.preprocess import ( ...@@ -45,7 +45,6 @@ from vllm.renderers.inputs.preprocess import (
parse_model_prompt, parse_model_prompt,
prompt_to_seq, prompt_to_seq,
) )
from vllm.tokenizers import TokenizerLike
from vllm.tool_parsers import ToolParser from vllm.tool_parsers import ToolParser
from vllm.utils import random_uuid from vllm.utils import random_uuid
from vllm.utils.mistral import is_mistral_tokenizer from vllm.utils.mistral import is_mistral_tokenizer
...@@ -84,12 +83,10 @@ class OpenAIServingRender: ...@@ -84,12 +83,10 @@ class OpenAIServingRender:
self.trust_request_chat_template = trust_request_chat_template self.trust_request_chat_template = trust_request_chat_template
self.enable_auto_tools = enable_auto_tools self.enable_auto_tools = enable_auto_tools
self.exclude_tools_when_tool_choice_none = exclude_tools_when_tool_choice_none self.exclude_tools_when_tool_choice_none = exclude_tools_when_tool_choice_none
self.tool_parser: Callable[[TokenizerLike], ToolParser] | None = ( self.tool_parser: type[ToolParser] | None = ParserManager.get_tool_parser(
ParserManager.get_tool_parser( tool_parser_name=tool_parser,
tool_parser_name=tool_parser, enable_auto_tools=enable_auto_tools,
enable_auto_tools=enable_auto_tools, model_name=model_config.model,
model_name=model_config.model,
)
) )
self.default_chat_template_kwargs: dict[str, Any] = ( self.default_chat_template_kwargs: dict[str, Any] = (
default_chat_template_kwargs or {} default_chat_template_kwargs or {}
...@@ -499,7 +496,7 @@ class OpenAIServingRender: ...@@ -499,7 +496,7 @@ class OpenAIServingRender:
default_template_content_format: ChatTemplateContentFormatOption, default_template_content_format: ChatTemplateContentFormatOption,
default_template_kwargs: dict[str, Any] | None, default_template_kwargs: dict[str, Any] | None,
tool_dicts: list[dict[str, Any]] | None = None, tool_dicts: list[dict[str, Any]] | None = None,
tool_parser: Callable[[TokenizerLike], ToolParser] | None = None, tool_parser: type[ToolParser] | None = None,
) -> tuple[list[ConversationMessage], list[ProcessorInputs]]: ) -> tuple[list[ConversationMessage], list[ProcessorInputs]]:
"""Copied from OpenAIServing._preprocess_chat.""" """Copied from OpenAIServing._preprocess_chat."""
renderer = self.renderer renderer = self.renderer
......
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