Spaces:
Running
Running
from tavily import TavilyClient | |
import os | |
tavily = TavilyClient(api_key=os.getenv("TAVILY_API_KEY")) | |
def perform_search(query): | |
"""Perform web search using Tavily API and return structured results""" | |
try: | |
if not os.getenv("TAVILY_API_KEY"): | |
return [{"error": "API key not configured"}] | |
response = tavily.search( | |
query=query, | |
max_results=5, | |
include_answer=True, | |
include_raw_content=False | |
) | |
results = [] | |
if response.get('answer'): | |
results.append({"type": "answer", "content": response['answer']}) | |
for result in response.get('results', []): | |
results.append({ | |
"type": "source", | |
"title": result.get("title"), | |
"url": result.get("url"), | |
"content": result.get("content") | |
}) | |
return results | |
except Exception as e: | |
return [{"error": f"Search failed: {str(e)}"}] | |