simplify search tool and enable configuration for search engine

This commit is contained in:
Hardik Shah 2024-09-09 18:41:11 -07:00
parent 640c5f8ab9
commit bdede6d14e
6 changed files with 56 additions and 48 deletions

View file

@ -41,11 +41,19 @@ class ToolDefinitionCommon(BaseModel):
output_shields: Optional[List[ShieldDefinition]] = Field(default_factory=list)
class SearchEngineType(Enum):
bing = "bing"
brave = "brave"
@json_schema_type
class BraveSearchToolDefinition(ToolDefinitionCommon):
class SearchToolDefinition(ToolDefinitionCommon):
# NOTE: brave_search is just a placeholder since model always uses
# brave_search as tool call name
type: Literal[AgenticSystemTool.brave_search.value] = (
AgenticSystemTool.brave_search.value
)
engine: SearchEngineType = SearchEngineType.brave
remote_execution: Optional[RestAPIExecutionConfig] = None
@ -163,7 +171,7 @@ class MemoryToolDefinition(ToolDefinitionCommon):
AgenticSystemToolDefinition = Annotated[
Union[
BraveSearchToolDefinition,
SearchToolDefinition,
WolframAlphaToolDefinition,
PhotogenToolDefinition,
CodeInterpreterToolDefinition,