Spaces:
Sleeping
Sleeping
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}" | |