Vinsmart06 commited on
Commit
63e2ba2
Β·
verified Β·
1 Parent(s): 96650df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -43
app.py CHANGED
@@ -64,54 +64,54 @@ class BasicAgent:
64
 
65
  # ── TOOL: Wikipedia ──────────────────────────────────────────────
66
  def wiki_search(self, query):
67
- try:
68
- query = query.strip(' ".,')
69
- # Step 1: Search for page title
70
- search_resp = requests.get(
71
- "https://en.wikipedia.org/w/api.php",
72
- params={
73
- "action": "query",
74
- "list": "search",
75
- "srsearch": query,
76
- "format": "json",
77
- "srlimit": 2
78
- },
79
- headers={"User-Agent": "GAIA-Agent/1.0"},
80
- timeout=15
81
- )
82
- print(f" [wiki status] {search_resp.status_code}, len={len(search_resp.text)}")
83
-
84
- if search_resp.status_code != 200 or not search_resp.text.strip():
85
- # Fallback: try REST summary directly
86
- slug = query.replace(" ", "_")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  rest = requests.get(
88
- f"https://en.wikipedia.org/api/rest_v1/page/summary/{slug}",
89
  headers={"User-Agent": "GAIA-Agent/1.0"},
90
  timeout=15
91
  )
92
  if rest.status_code == 200:
93
- data = rest.json()
94
- return f"WIKI [{data.get('title')}]: {data.get('extract','')[:2000]}"
95
- return f"Wiki unavailable (status {search_resp.status_code})"
96
-
97
- data = search_resp.json()
98
- results = data.get("query", {}).get("search", [])
99
- if not results:
100
- return f"No Wikipedia results for: {query}"
101
-
102
- title = results[0]["title"]
103
- # Step 2: Get full extract
104
- rest = requests.get(
105
- f"https://en.wikipedia.org/api/rest_v1/page/summary/{requests.utils.quote(title)}",
106
- headers={"User-Agent": "GAIA-Agent/1.0"},
107
- timeout=15
108
- )
109
- if rest.status_code == 200:
110
- d = rest.json()
111
- return f"WIKI [{d.get('title')}]: {d.get('extract','')[:2500]}"
112
- return f"Wiki fetch failed for: {title}"
113
- except Exception as e:
114
- return f"Wiki error: {e}"
115
 
116
  def web_search(self, query):
117
  """General web search using DuckDuckGo"""
 
64
 
65
  # ── TOOL: Wikipedia ──────────────────────────────────────────────
66
  def wiki_search(self, query):
67
+ try:
68
+ query = query.strip(' ".,')
69
+ # Step 1: Search for page title
70
+ search_resp = requests.get(
71
+ "https://en.wikipedia.org/w/api.php",
72
+ params={
73
+ "action": "query",
74
+ "list": "search",
75
+ "srsearch": query,
76
+ "format": "json",
77
+ "srlimit": 2
78
+ },
79
+ headers={"User-Agent": "GAIA-Agent/1.0"},
80
+ timeout=15
81
+ )
82
+ print(f" [wiki status] {search_resp.status_code}, len={len(search_resp.text)}")
83
+
84
+ if search_resp.status_code != 200 or not search_resp.text.strip():
85
+ # Fallback: try REST summary directly
86
+ slug = query.replace(" ", "_")
87
+ rest = requests.get(
88
+ f"https://en.wikipedia.org/api/rest_v1/page/summary/{slug}",
89
+ headers={"User-Agent": "GAIA-Agent/1.0"},
90
+ timeout=15
91
+ )
92
+ if rest.status_code == 200:
93
+ data = rest.json()
94
+ return f"WIKI [{data.get('title')}]: {data.get('extract','')[:2000]}"
95
+ return f"Wiki unavailable (status {search_resp.status_code})"
96
+
97
+ data = search_resp.json()
98
+ results = data.get("query", {}).get("search", [])
99
+ if not results:
100
+ return f"No Wikipedia results for: {query}"
101
+
102
+ title = results[0]["title"]
103
+ # Step 2: Get full extract
104
  rest = requests.get(
105
+ f"https://en.wikipedia.org/api/rest_v1/page/summary/{requests.utils.quote(title)}",
106
  headers={"User-Agent": "GAIA-Agent/1.0"},
107
  timeout=15
108
  )
109
  if rest.status_code == 200:
110
+ d = rest.json()
111
+ return f"WIKI [{d.get('title')}]: {d.get('extract','')[:2500]}"
112
+ return f"Wiki fetch failed for: {title}"
113
+ except Exception as e:
114
+ return f"Wiki error: {e}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
 
116
  def web_search(self, query):
117
  """General web search using DuckDuckGo"""