Replace --expand-tools-even-if-tool-choice-none with --exclude-tools-when-tool-choice-none for v0.10.0 (#20544)

Signed-off-by: okada <kokuzen@gmail.com>
Signed-off-by: okada shintarou <okada@preferred.jp>
Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
This commit is contained in:
Shintarou Okada
2025-07-24 18:56:36 +09:00
committed by GitHub
parent 85bda9e7d0
commit 6eca337ce0
4 changed files with 13 additions and 2 deletions

View File

@@ -63,6 +63,7 @@ class OpenAIServingChat(OpenAIServing):
return_tokens_as_token_ids: bool = False,
reasoning_parser: str = "",
enable_auto_tools: bool = False,
exclude_tools_when_tool_choice_none: bool = False,
tool_parser: Optional[str] = None,
enable_prompt_tokens_details: bool = False,
enable_force_include_usage: bool = False,
@@ -111,6 +112,8 @@ class OpenAIServingChat(OpenAIServing):
raise TypeError("Error: --enable-auto-tool-choice requires "
f"tool_parser:'{tool_parser}' which has not "
"been registered") from e
self.exclude_tools_when_tool_choice_none = (
exclude_tools_when_tool_choice_none)
self.enable_prompt_tokens_details = enable_prompt_tokens_details
self.enable_force_include_usage = enable_force_include_usage
@@ -174,7 +177,9 @@ class OpenAIServingChat(OpenAIServing):
"--enable-auto-tool-choice and --tool-call-parser to be set"
)
if request.tools is None:
if (request.tools is None
or (request.tool_choice == "none"
and self.exclude_tools_when_tool_choice_none)):
tool_dicts = None
else:
tool_dicts = [tool.model_dump() for tool in request.tools]