File size: 993 Bytes
742b2a5
ab6d29f
742b2a5
ab6d29f
 
 
001a1f0
ab6d29f
 
001a1f0
 
ab6d29f
001a1f0
ab6d29f
 
 
 
001a1f0
ab6d29f
 
001a1f0
 
ab6d29f
001a1f0
 
 
 
 
 
 
 
 
ab6d29f
001a1f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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)}"}]