Skip to content

tavily_search_tool

langroid/agent/tools/tavily_search_tool.py

A tool to trigger a Tavily search for a given query, and return the top results with their titles, links, summaries. 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(TavilySearchTool)

TavilySearchTool

Bases: ToolMessage

handle()

Conducts a search using Tavily based on the provided query and number of results by triggering a tavily_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/tavily_search_tool.py
def handle(self) -> str:
    """
    Conducts a search using Tavily based on the provided query
    and number of results by triggering a tavily_search.

    Returns:
        str: A formatted string containing the titles, links, and
            summaries of each search result, separated by two newlines.
    """
    search_results = tavily_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}
    """