from tavily import TavilyClient from langchain.tools import tool from config import TAVILY_API_KEY # import os # TAVILY_API_KEY = os.getenv("TAVILY_API_KEY") class SearchTool: def __init__(self, api_key: str): self.client = TavilyClient(api_key=api_key) def search(self, query: str): response = self.client.search(query) # Extract a string summary of results results = response.get("results", []) if not results: return "No results found." # For simplicity, joining first 3 results' titles or snippets summaries = [res.get("title", "") or res.get("snippet", "") for res in results[:3]] return " | ".join(summaries) search_tool_instance = SearchTool(api_key=TAVILY_API_KEY) @tool(description="Tool to search for information on the web using Tavily API and return a summary of results.") def search_tool(query: str) -> str: return search_tool_instance.search(query)