Skip to content

WebSearchTool

autogen.beta.tools.builtin.web_search.WebSearchTool #

WebSearchTool(*, search_context_size=None, max_uses=None, user_location=None, allowed_domains=None, blocked_domains=None, version=None)

Bases: Tool

Source code in autogen/beta/tools/builtin/web_search.py
def __init__(
    self,
    *,
    search_context_size: Literal["low", "medium", "high"] | Variable | None = None,
    max_uses: int | Variable | None = None,
    user_location: UserLocation | Variable | None = None,
    allowed_domains: list[str] | Variable | None = None,
    blocked_domains: list[str] | Variable | None = None,
    version: Literal["web_search_20250305", "web_search_20260209"] | Variable | None = None,
) -> None:
    self._params: dict[str, object] = {}
    if search_context_size is not None:
        self._params["search_context_size"] = search_context_size
    if max_uses is not None:
        self._params["max_uses"] = max_uses
    if user_location is not None:
        self._params["user_location"] = user_location
    if allowed_domains is not None:
        self._params["allowed_domains"] = allowed_domains
    if blocked_domains is not None:
        self._params["blocked_domains"] = blocked_domains
    if version is not None:
        self._params["web_search_version"] = version

    self.name = WEB_SEARCH_TOOL_NAME

name instance-attribute #

name = WEB_SEARCH_TOOL_NAME

schemas async #

schemas(context)
Source code in autogen/beta/tools/builtin/web_search.py
async def schemas(self, context: "Context") -> list[WebSearchToolSchema]:
    resolved = {k: resolve_variable(v, context, param_name=k) for k, v in self._params.items()}
    return [WebSearchToolSchema(**resolved)]

register #

register(stack, context, *, middleware=())
Source code in autogen/beta/tools/builtin/web_search.py
def register(
    self,
    stack: "ExitStack",
    context: "Context",
    *,
    middleware: Iterable["BaseMiddleware"] = (),
) -> None:
    async def execute(event: "ToolCallEvent", context: "Context") -> None:
        pass

    stack.enter_context(
        context.stream.where(BuiltinToolCallEvent.name == WEB_SEARCH_TOOL_NAME).sub_scope(execute),
    )

set_provider #

set_provider(provider)
Source code in autogen/beta/tools/tool.py
def set_provider(self, provider: Provider) -> None:
    pass