EtienneB commited on
Commit
9a1c353
·
1 Parent(s): 4869536

Update tools.py

Browse files
Files changed (1) hide show
  1. tools.py +17 -1
tools.py CHANGED
@@ -3,7 +3,7 @@ import math
3
  from typing import Union
4
 
5
  import pytz
6
- from langchain_community.document_loaders import WikipediaLoader
7
  from langchain_community.tools import DuckDuckGoSearchRun
8
  from langchain_core.tools import tool
9
 
@@ -565,3 +565,19 @@ def wiki_search(query: str) -> str:
565
  for doc in search_docs
566
  ])
567
  return {"wiki_results": formatted_search_docs}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  from typing import Union
4
 
5
  import pytz
6
+ from langchain_community.document_loaders import ArxivLoader, WikipediaLoader
7
  from langchain_community.tools import DuckDuckGoSearchRun
8
  from langchain_core.tools import tool
9
 
 
565
  for doc in search_docs
566
  ])
567
  return {"wiki_results": formatted_search_docs}
568
+
569
+ @tool
570
+ def arvix_search(query: str) -> str:
571
+ """
572
+ Search Arxiv for a query and return maximum 3 result.
573
+
574
+ Args:
575
+ query: The search query.
576
+ """
577
+ search_docs = ArxivLoader(query=query, load_max_docs=3).load()
578
+ formatted_search_docs = "\n\n---\n\n".join(
579
+ [
580
+ f'<Document source="{doc.metadata["source"]}" page="{doc.metadata.get("page", "")}"/>\n{doc.page_content[:1000]}\n</Document>'
581
+ for doc in search_docs
582
+ ])
583
+ return {"arvix_results": formatted_search_docs}