Freddolin commited on
Commit
9741645
·
verified ·
1 Parent(s): 26ec04e

Create tavily_search.py

Browse files
Files changed (1) hide show
  1. tools/tavily_search.py +37 -0
tools/tavily_search.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from tavily import TavilyClient
3
+
4
+ def search_tavily(query: str, max_results: int = 5) -> str:
5
+ """
6
+ Sök på Tavily Search och returnera en sammanfattning av resultaten.
7
+ Kräver att TAVILY_API_KEY är satt som en miljövariabel.
8
+ """
9
+ tavily_api_key = os.getenv("TAVILY_API_KEY")
10
+ if not tavily_api_key:
11
+ return "Fel: Tavily API-nyckel är inte konfigurerad (saknar TAVILY_API_KEY i Space Secrets)."
12
+
13
+ try:
14
+ client = TavilyClient(api_key=tavily_api_key)
15
+
16
+ # Använd Tavilys 'search' metod. include_raw_content=False för att hålla svaret kort.
17
+ # Du kan experimentera med search_depth='deep' för mer djupgående sökningar om det behövs.
18
+ results = client.search(query=query, max_results=max_results, include_raw_content=False)
19
+
20
+ summary_parts = []
21
+ if 'results' in results and results['results']:
22
+ for i, res in enumerate(results['results'], 1):
23
+ # Extrahera relevant information från varje sökresultat
24
+ title = res.get('title', 'Ingen titel')
25
+ url = res.get('url', 'Ingen URL')
26
+ content = res.get('content', 'Inget innehåll tillgängligt.')
27
+
28
+ summary_parts.append(f"Resultat {i}: {title} - {url}\nInnehåll: {content}")
29
+
30
+ if not summary_parts:
31
+ return "Inga sökresultat hittades på Tavily för din fråga."
32
+
33
+ return "\n\n".join(summary_parts)
34
+
35
+ except Exception as e:
36
+ return f"Ett fel inträffade under Tavily-sökning: {e}"
37
+