Final_Assignment_Template / tavily_search.py
Freddolin's picture
Rename tools/tavily_search.py to tavily_search.py
f24bba0 verified
raw
history blame
1.61 kB
import os
from tavily import TavilyClient
def search_tavily(query: str, max_results: int = 5) -> str:
"""
Sök på Tavily Search och returnera en sammanfattning av resultaten.
Kräver att TAVILY_API_KEY är satt som en miljövariabel.
"""
tavily_api_key = os.getenv("TAVILY_API_KEY")
if not tavily_api_key:
return "Fel: Tavily API-nyckel är inte konfigurerad (saknar TAVILY_API_KEY i Space Secrets)."
try:
client = TavilyClient(api_key=tavily_api_key)
# Använd Tavilys 'search' metod. include_raw_content=False för att hålla svaret kort.
# Du kan experimentera med search_depth='deep' för mer djupgående sökningar om det behövs.
results = client.search(query=query, max_results=max_results, include_raw_content=False)
summary_parts = []
if 'results' in results and results['results']:
for i, res in enumerate(results['results'], 1):
# Extrahera relevant information från varje sökresultat
title = res.get('title', 'Ingen titel')
url = res.get('url', 'Ingen URL')
content = res.get('content', 'Inget innehåll tillgängligt.')
summary_parts.append(f"Resultat {i}: {title} - {url}\nInnehåll: {content}")
if not summary_parts:
return "Inga sökresultat hittades på Tavily för din fråga."
return "\n\n".join(summary_parts)
except Exception as e:
return f"Ett fel inträffade under Tavily-sökning: {e}"