Update tools.py
Browse files
tools.py
CHANGED
|
@@ -1,12 +1,13 @@
|
|
| 1 |
# Tools extracted from one of leader repos > https://huggingface.co/spaces/baixianger/RobotPai/blob/main/agent.py
|
| 2 |
|
| 3 |
-
from
|
| 4 |
from langchain_community.document_loaders import WikipediaLoader
|
| 5 |
from langchain_community.document_loaders import ArxivLoader
|
| 6 |
from langchain_community.vectorstores import SupabaseVectorStore
|
| 7 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 8 |
from langchain_core.tools import tool
|
| 9 |
from langchain.tools.retriever import create_retriever_tool
|
|
|
|
| 10 |
|
| 11 |
from typing import Dict
|
| 12 |
|
|
@@ -78,13 +79,13 @@ def wiki_search(query: str) -> Dict[str, list]:
|
|
| 78 |
return {"wiki_results": formatted_search_docs}
|
| 79 |
|
| 80 |
@tool(parse_docstring=True)
|
| 81 |
-
def web_search(query: str) ->
|
| 82 |
-
"""Search in the web with Tavily for a query and return maximum
|
| 83 |
|
| 84 |
Args:
|
| 85 |
query: The search query.
|
| 86 |
"""
|
| 87 |
-
|
| 88 |
formatted_search_docs = "\n\n---\n\n".join(
|
| 89 |
[
|
| 90 |
f'<Document source="{doc.metadata["source"]}" page="{doc.metadata.get("page", "")}"/>\n{doc.page_content}\n</Document>'
|
|
|
|
| 1 |
# Tools extracted from one of leader repos > https://huggingface.co/spaces/baixianger/RobotPai/blob/main/agent.py
|
| 2 |
|
| 3 |
+
from langchain_tavily import TavilySearch
|
| 4 |
from langchain_community.document_loaders import WikipediaLoader
|
| 5 |
from langchain_community.document_loaders import ArxivLoader
|
| 6 |
from langchain_community.vectorstores import SupabaseVectorStore
|
| 7 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 8 |
from langchain_core.tools import tool
|
| 9 |
from langchain.tools.retriever import create_retriever_tool
|
| 10 |
+
from langchain_core.messages import ToolMessage
|
| 11 |
|
| 12 |
from typing import Dict
|
| 13 |
|
|
|
|
| 79 |
return {"wiki_results": formatted_search_docs}
|
| 80 |
|
| 81 |
@tool(parse_docstring=True)
|
| 82 |
+
def web_search(query: str) -> ToolMessage:
|
| 83 |
+
"""Search in the web with Tavily for a query and return maximum 4 results.
|
| 84 |
|
| 85 |
Args:
|
| 86 |
query: The search query.
|
| 87 |
"""
|
| 88 |
+
return TavilySearch(max_results=4, include_images=False).invoke({"query": query})
|
| 89 |
formatted_search_docs = "\n\n---\n\n".join(
|
| 90 |
[
|
| 91 |
f'<Document source="{doc.metadata["source"]}" page="{doc.metadata.get("page", "")}"/>\n{doc.page_content}\n</Document>'
|