ORromu commited on
Commit
7dc9ee0
·
verified ·
1 Parent(s): 21918d3

Update tool.py

Browse files
Files changed (1) hide show
  1. tool.py +16 -2
tool.py CHANGED
@@ -1,10 +1,10 @@
1
  from langchain_core.tools import tool
2
  from langchain_community.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper
 
3
  from langchain_community.document_loaders.wikipedia import WikipediaLoader
4
  from langchain_community.document_loaders.arxiv import ArxivLoader
5
  from langchain_community.document_loaders.pubmed import PubMedLoader
6
 
7
-
8
  ## Simple algebra tools
9
  @tool
10
  def add(a: float, b: float) -> float:
@@ -52,7 +52,7 @@ def divide(a: float, b: float) -> float:
52
 
53
  ## Search Tools
54
  def DuckDuckGoSearchTool(query: str) -> str:
55
- """Search DuckDuckGo for a query and return maximum 3 results.
56
 
57
  Args:
58
  query: The search query.
@@ -65,6 +65,20 @@ def DuckDuckGoSearchTool(query: str) -> str:
65
  ])
66
  return {"web_results": formatted_search_docs}
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  @tool
69
  def WikipediaSearchTool(query: str) -> str:
70
  """Search Wikipedia for a query and return maximum 2 results.
 
1
  from langchain_core.tools import tool
2
  from langchain_community.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper
3
+ from langchain_community.tools.tavily_search import TavilySearchResults
4
  from langchain_community.document_loaders.wikipedia import WikipediaLoader
5
  from langchain_community.document_loaders.arxiv import ArxivLoader
6
  from langchain_community.document_loaders.pubmed import PubMedLoader
7
 
 
8
  ## Simple algebra tools
9
  @tool
10
  def add(a: float, b: float) -> float:
 
52
 
53
  ## Search Tools
54
  def DuckDuckGoSearchTool(query: str) -> str:
55
+ """Search DuckDuckGo for a query and return maximum 5 results.
56
 
57
  Args:
58
  query: The search query.
 
65
  ])
66
  return {"web_results": formatted_search_docs}
67
 
68
+ @tool
69
+ def TavilySearchTool(query: str) -> str:
70
+ """Search Tavily for a query and return maximum 3 results.
71
+
72
+ Args:
73
+ query: The search query."""
74
+ search_docs = TavilySearchResults(max_results=5).invoke(query=query)
75
+ formatted_search_docs = "\n\n---\n\n".join(
76
+ [
77
+ f'<Document source="{doc.metadata["source"]}" page="{doc.metadata.get("page", "")}"/>\n{doc.page_content}\n</Document>'
78
+ for doc in search_docs
79
+ ])
80
+ return {"web_results": formatted_search_docs}
81
+
82
  @tool
83
  def WikipediaSearchTool(query: str) -> str:
84
  """Search Wikipedia for a query and return maximum 2 results.