Ubik80 commited on
Commit
91a2951
·
verified ·
1 Parent(s): af4dc02

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -13
app.py CHANGED
@@ -45,27 +45,30 @@ from smolagents import tool, DuckDuckGoSearchTool
45
 
46
  @tool
47
  def search_duckduckgo(query: str) -> str:
48
- """Performs a web search using DuckDuckGo and returns the first result summary.
49
 
50
  Args:
51
  query: The search term.
52
 
53
  Returns:
54
- A summary of the first result found.
55
  """
56
  search_tool = DuckDuckGoSearchTool()
57
- results = search_tool(query) # 🔍 Effettua la ricerca su DuckDuckGo
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
- print("DEBUG - Risultati della ricerca:", results) # 🚨 Debug: Stampiamo il formato dei dati ricevuti
60
-
61
- if not results:
62
- return f"Nessun risultato trovato per '{query}'."
63
-
64
- if isinstance(results, list): # ✅ Se i risultati sono una lista, allora selezioniamo il primo risultato
65
- top_result = results[0]
66
- return f"🔎 {top_result.get('title', 'Nessun titolo')}\n{top_result.get('snippet', 'Nessuna descrizione')}\n🔗 {top_result.get('link', 'Nessun link')}"
67
- else:
68
- return f"Errore: il formato dei dati non è quello previsto. Ecco il contenuto: {results}"
69
 
70
 
71
  model = OpenAIServerModel(
 
45
 
46
  @tool
47
  def search_duckduckgo(query: str) -> str:
48
+ """Performs a web search using DuckDuckGo and returns the first relevant result.
49
 
50
  Args:
51
  query: The search term.
52
 
53
  Returns:
54
+ The best search result including title, summary, and link.
55
  """
56
  search_tool = DuckDuckGoSearchTool()
57
+ results = search_tool(query) # Perform the search
58
+
59
+ if not results or "## Search Results" not in results:
60
+ return f"No relevant results found for '{query}'."
61
+
62
+ # Extract the first result using simple text parsing
63
+ result_lines = results.split("\n") # Split results into lines
64
+ for i in range(len(result_lines)):
65
+ if result_lines[i].startswith("["):
66
+ title = result_lines[i][1:-1] # Remove brackets
67
+ link = result_lines[i+1].strip() # The next line contains the link
68
+ summary = result_lines[i+2].strip() if i+2 < len(result_lines) else "No summary available."
69
+ return f"🔎 {title}\n{summary}\n🔗 {link}"
70
 
71
+ return f"Could not parse the results for '{query}'."
 
 
 
 
 
 
 
 
 
72
 
73
 
74
  model = OpenAIServerModel(