alisamak commited on
Commit
f8f257e
·
verified ·
1 Parent(s): f95afc7

Update tools.py

Browse files
Files changed (1) hide show
  1. tools.py +16 -3
tools.py CHANGED
@@ -26,7 +26,9 @@ class WebSearchTool:
26
  params = {"q": query}
27
  if domain:
28
  params["q"] += f" site:{domain}"
29
- response = requests.get(base_url, params=params, timeout=10)
 
 
30
  response.raise_for_status()
31
 
32
  if response.status_code == 202:
@@ -38,9 +40,20 @@ class WebSearchTool:
38
  title = result.find('a', {'class': 'result__a'})
39
  snippet = result.find('a', {'class': 'result__snippet'})
40
  if title and snippet:
41
- results.append(snippet.get_text())
 
 
 
 
 
 
 
42
 
43
- return "\n".join(results[:3]) if results else "No results found."
 
 
 
 
44
 
45
  def search(self, query: str, domain: Optional[str] = None) -> str:
46
  for attempt in range(self.max_retries):
 
26
  params = {"q": query}
27
  if domain:
28
  params["q"] += f" site:{domain}"
29
+
30
+ headers = {"User-Agent": "Mozilla/5.0"}
31
+ response = requests.get(base_url, params=params, headers=headers, timeout=10)
32
  response.raise_for_status()
33
 
34
  if response.status_code == 202:
 
40
  title = result.find('a', {'class': 'result__a'})
41
  snippet = result.find('a', {'class': 'result__snippet'})
42
  if title and snippet:
43
+ results.append({
44
+ 'title': title.get_text(),
45
+ 'snippet': snippet.get_text(),
46
+ 'url': title.get('href')
47
+ })
48
+
49
+ if not results:
50
+ return "No results found."
51
 
52
+ # Format results with title, URL, and snippet
53
+ formatted = "\n\n".join(
54
+ f"**{r['title']}**\n{r['url']}\n{r['snippet']}" for r in results[:5]
55
+ )
56
+ return formatted
57
 
58
  def search(self, query: str, domain: Optional[str] = None) -> str:
59
  for attempt in range(self.max_retries):