myspace134v / modules /retriever.py
rdune71's picture
Update with enhanced AI Research Assistant - streaming output, 8192 tokens, improved UI
001a1f0
raw
history blame contribute delete
993 Bytes
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)}"}]