D3MI4N's picture
New version using OpenAI
7bccf8e
raw
history blame contribute delete
956 Bytes
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)