mirjam-m commited on
Commit
f953341
·
1 Parent(s): 44b1097
Files changed (1) hide show
  1. app.py +37 -18
app.py CHANGED
@@ -11,6 +11,10 @@ from langchain_community.retrievers import WikipediaRetriever
11
  from langchain_community.tools import DuckDuckGoSearchRun, WikipediaQueryRun
12
  from langchain_community.utilities import WikipediaAPIWrapper
13
 
 
 
 
 
14
  from langchain_core import messages
15
  from langchain_core.messages import (
16
  BaseMessage,
@@ -173,17 +177,29 @@ class BasicAgent:
173
 
174
  def wiki_search(self, state: AnswerState) -> Dict[str, Any]:
175
  print("[wiki_search] Searching for: " + str(state["wiki_request"]))
176
- import wikipedia
177
  wikipedia.set_lang("en")
178
  page_titles = wikipedia.search(
179
  state["wiki_request"], results=1
180
  )
181
- print(f"[miki] Wiki page_titles: {page_titles}")
182
- res = wikipedia.page(title=page_titles[0], auto_suggest=False)
183
- print(f"[miki] Wiki res: {res}")
184
-
 
 
 
 
 
 
 
 
 
 
185
 
 
186
  wiki_tool = WikipediaRetriever(
 
187
  top_k_results=1,
188
  doc_content_chars_max=100000,
189
  load_all_available_meta=True,
@@ -198,20 +214,23 @@ class BasicAgent:
198
  + results[0].page_content,
199
  )
200
  )
201
- else:
202
- wiki_tool = WikipediaAPIWrapper(
203
- top_k_results=1,
204
- doc_content_chars_max=100000,
205
- load_all_available_meta=True,
206
- )
207
- results = wiki_tool.run(str(state["wiki_request"]))
208
- print(f"Wiki results: {results}")
209
- state["messages"].append(
210
- ChatMessage(
211
- role="user",
212
- content="WikipediaAgent tool results are: " + results,
213
- )
 
 
214
  )
 
215
  return {"messages": state["messages"]}
216
 
217
  def python_exec(self, state: AnswerState) -> Dict[str, Any]:
 
11
  from langchain_community.tools import DuckDuckGoSearchRun, WikipediaQueryRun
12
  from langchain_community.utilities import WikipediaAPIWrapper
13
 
14
+ import wikipedia
15
+ import wikipediaapi
16
+ from bs4 import BeautifulSoup
17
+
18
  from langchain_core import messages
19
  from langchain_core.messages import (
20
  BaseMessage,
 
177
 
178
  def wiki_search(self, state: AnswerState) -> Dict[str, Any]:
179
  print("[wiki_search] Searching for: " + str(state["wiki_request"]))
180
+
181
  wikipedia.set_lang("en")
182
  page_titles = wikipedia.search(
183
  state["wiki_request"], results=1
184
  )
185
+ print("[wiki_search] Fetching the whole page")
186
+ wiki = wikipediaapi.Wikipedia(language='en', user_agent='gaia_example')
187
+ page = wiki.page(page_titles[0])
188
+ if page.exists():
189
+ html_url = f"https://en.wikipedia.org/wiki/{page.title.replace(' ', '_')}"
190
+ html = requests.get(html_url).text
191
+ soup = BeautifulSoup(html, 'html.parser')
192
+ state["messages"].append(
193
+ ChatMessage(
194
+ role="user",
195
+ content="WikipediaAgent tool results are: " + str(soup)
196
+ )
197
+ )
198
+ return {"messages": state["messages"]}
199
 
200
+ print("[wiki_search] Fetching the page via wikiRetriever")
201
  wiki_tool = WikipediaRetriever(
202
+ wiki_client = wikipedia,
203
  top_k_results=1,
204
  doc_content_chars_max=100000,
205
  load_all_available_meta=True,
 
214
  + results[0].page_content,
215
  )
216
  )
217
+ return {"messages": state["messages"]}
218
+
219
+ print("[wiki_search] Fetching the page via WikipediaAPIWrapper")
220
+ wiki_tool = WikipediaAPIWrapper(
221
+ wiki_client = wikipedia,
222
+ top_k_results=1,
223
+ doc_content_chars_max=100000,
224
+ load_all_available_meta=True,
225
+ )
226
+ results = wiki_tool.run(str(state["wiki_request"]))
227
+ print(f"Wiki results: {results}")
228
+ state["messages"].append(
229
+ ChatMessage(
230
+ role="user",
231
+ content="WikipediaAgent tool results are: " + results,
232
  )
233
+ )
234
  return {"messages": state["messages"]}
235
 
236
  def python_exec(self, state: AnswerState) -> Dict[str, Any]: