Skip to content

seltz_search_tool

langroid/agent/tools/seltz_search_tool.py

A tool to trigger a Seltz search for a given query and return the top results. Since the tool is stateless (i.e. does not need access to agent state), it can be enabled for any agent, without having to define a special method inside the agent: agent.enable_message(SeltzSearchTool)

NOTE: To use this tool, you need to:

  • set the SELTZ_API_KEY environment variable in your .env file, e.g. SELTZ_API_KEY=your_api_key_here

  • install langroid with the seltz extra, e.g. pip install langroid[seltz] or uv pip install langroid[seltz] or poetry add langroid[seltz] or uv add langroid[seltz] (it installs the seltz package from pypi).

For more information, please refer to: https://seltz.ai/

SeltzSearchTool

Bases: ToolMessage

handle()

Conducts a search using the Seltz API based on the provided query and number of results by triggering a seltz_search.

Returns:

Name Type Description
str str

A formatted string containing the titles, links, and summaries of each search result, separated by two newlines.

Source code in langroid/agent/tools/seltz_search_tool.py
def handle(self) -> str:
    """
    Conducts a search using the Seltz API based on the provided query
    and number of results by triggering a seltz_search.

    Returns:
        str: A formatted string containing the titles, links, and
            summaries of each search result, separated by two newlines.
    """

    search_results = seltz_search(self.query, self.num_results)
    # return Title, Link, Summary of each result, separated by two newlines
    results_str = "\n\n".join(str(result) for result in search_results)
    return f"""
    BELOW ARE THE RESULTS FROM THE WEB SEARCH. USE THESE TO COMPOSE YOUR RESPONSE:
    {results_str}
    """