allowed empty Search Tool for non-agentic search

This commit is contained in:
Evan Lohn
2025-01-25 16:06:11 -08:00
parent 139374966f
commit 7d494cd65e
10 changed files with 37 additions and 10 deletions

View File

@@ -743,12 +743,19 @@ def stream_chat_message_objects(
# we should construct this unconditionally inside Answer instead
# Leaving it here for the time being to avoid breaking changes
search_tools = [tool for tool in tools if isinstance(tool, SearchTool)]
if len(search_tools) == 0:
raise ValueError("No search tool found")
elif len(search_tools) > 1:
search_tool: SearchTool | None = None
if len(search_tools) > 1:
# TODO: handle multiple search tools
raise ValueError("Multiple search tools found")
search_tool = search_tools[0]
logger.warning("Multiple search tools found, using first one")
search_tool = search_tools[0]
elif len(search_tools) == 1:
search_tool = search_tools[0]
else:
logger.warning("No search tool found")
if new_msg_req.use_agentic_search:
raise ValueError("No search tool found, cannot use agentic search")
using_tool_calling_llm = explicit_tool_calling_supported(
llm.config.model_provider, llm.config.model_name
)