Spaces:
Running
Running
File size: 1,103 Bytes
9df4cc0 |
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 36 37 38 |
# tavily.py
import requests
class TavilyClient:
def __init__(self, api_key: str):
self.api_key = api_key
self.api_url = "https://api.tavily.com/search"
def search(
self,
query: str,
search_depth: str = "advanced",
topic: str = "news",
days: int = 7,
max_results: int = 10,
include_answer: bool = False,
include_raw_content: bool = False
):
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
payload = {
"query": query,
"search_depth": search_depth,
"topic": topic,
"days": days,
"max_results": max_results,
"include_answer": include_answer,
"include_raw_content": include_raw_content
}
response = requests.post(self.api_url, json=payload, headers=headers)
if response.status_code != 200:
raise Exception(f"Tavily API error: {response.status_code} - {response.text}")
return response.json()
|