RuaZhou commited on
Commit
b95b168
·
verified ·
1 Parent(s): 57e7cfa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -2
app.py CHANGED
@@ -11,6 +11,7 @@ from langchain_community.tools import DuckDuckGoSearchResults
11
  from langchain_google_community import GoogleSearchAPIWrapper
12
  from langchain_community.document_loaders import YoutubeLoader,PyPDFLoader,Docx2txtLoader,TextLoader,ArxivLoader
13
  from langchain_community.document_loaders import WikipediaLoader
 
14
  import wikipedia
15
  import speech_recognition as sr
16
  import tempfile
@@ -234,7 +235,29 @@ def wiki_search(query: str) -> str:
234
  ]
235
  )
236
  return {"wiki_results": formatted_search_docs}
237
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  #### add duckduckGoSearch into tool
239
  tools = [
240
  divide,
@@ -250,6 +273,7 @@ tools = [
250
  # youtube_transcript_tool,
251
  # transcribe_audio,
252
  # analyze_python_code,
 
253
  arvix_search,
254
  wiki_search,
255
  GoogleSearchAPIWrapper(k=10).run,
@@ -309,6 +333,7 @@ def assistant(state: AgentState, llm_with_tools):
309
  Tools:
310
  1. GoogleSearchAPIWrapper(k=10).run
311
  2. PDF access
 
312
 
313
  - FINAL ANSWER: 0.1777
314
 
@@ -336,7 +361,8 @@ class BasicAgent:
336
  raise ValueError("GOOGLE_CSE_ID environment variable not set or loaded.")
337
 
338
  # self.visionLLM = ChatOpenAI(model="gpt-4o",api_key=api_key) # multi-modal LLM
339
- self.LLM = ChatOpenAI(model="gpt-4o",api_key=api_key) # manager LLM
 
340
  self.LLM_with_tools = self.LLM.bind_tools(tools, parallel_tool_calls=False)
341
 
342
  assistant_with_llm = lambda state:assistant(state, self.LLM_with_tools)
 
11
  from langchain_google_community import GoogleSearchAPIWrapper
12
  from langchain_community.document_loaders import YoutubeLoader,PyPDFLoader,Docx2txtLoader,TextLoader,ArxivLoader
13
  from langchain_community.document_loaders import WikipediaLoader
14
+ from langchain_tavily import TavilySearch
15
  import wikipedia
16
  import speech_recognition as sr
17
  import tempfile
 
235
  ]
236
  )
237
  return {"wiki_results": formatted_search_docs}
238
+
239
+ @tool
240
+ def web_search(query: str) -> str:
241
+ """Search Tavily on the web for a query and return maximum 3 results.
242
+
243
+ Args:
244
+ query: The search query."""
245
+ search_docs = TavilySearch(max_results=3).invoke({'query': query})
246
+
247
+ print(f"Search query: {query}")
248
+ print(f"Search results count: {len(search_docs)}")
249
+
250
+ if isinstance(search_docs, dict):
251
+ search_docs = search_docs.get('results', [])
252
+
253
+
254
+ formatted_search_docs = "\n\n---\n\n".join(
255
+ [
256
+ f"""<Document source="{doc.get('url', '')}" page="{doc.get('title', '')}"/>\n{doc.get('content', '')}\n</Document>"""
257
+ for doc in search_docs
258
+ ])
259
+ return {"web_results": formatted_search_docs}
260
+
261
  #### add duckduckGoSearch into tool
262
  tools = [
263
  divide,
 
273
  # youtube_transcript_tool,
274
  # transcribe_audio,
275
  # analyze_python_code,
276
+ web_search,
277
  arvix_search,
278
  wiki_search,
279
  GoogleSearchAPIWrapper(k=10).run,
 
333
  Tools:
334
  1. GoogleSearchAPIWrapper(k=10).run
335
  2. PDF access
336
+ 3. web_search
337
 
338
  - FINAL ANSWER: 0.1777
339
 
 
361
  raise ValueError("GOOGLE_CSE_ID environment variable not set or loaded.")
362
 
363
  # self.visionLLM = ChatOpenAI(model="gpt-4o",api_key=api_key) # multi-modal LLM
364
+ # self.LLM = ChatOpenAI(model="gpt-4o",api_key=api_key) # manager LLM
365
+ self.LLM = ChatOpenAI(model="gpt-4.1",api_key=api_key) # manager LLM
366
  self.LLM_with_tools = self.LLM.bind_tools(tools, parallel_tool_calls=False)
367
 
368
  assistant_with_llm = lambda state:assistant(state, self.LLM_with_tools)