File size: 559 Bytes
8950c51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from langchain_core.tools import tool
from langchain_community.tools.tavily_search import TavilySearchResults


@tool
def web_search(input: str) -> dict:
    """Perform a web search and return maximum 3 results."""
    search_docs = TavilySearchResults(max_results=3).invoke(input)
    formatted_search_docs = "\n\n---\n\n".join(
        [
            f'<Document source="{doc["url"]}" title="{doc["title"]}"/>\n{doc["content"]}\n</Document>'
            for doc in search_docs
        ]
    )
    return {"web_results": formatted_search_docs}