Spaces:
Sleeping
Sleeping
| import json | |
| from langchain_community.document_loaders import WikipediaLoader | |
| from langchain_core.tools import tool | |
| def multiply(a: int, b: int) -> int: | |
| """Multiply two numbers. | |
| Args: | |
| a: first int | |
| b: second int | |
| """ | |
| return a * b | |
| def add(a: int, b: int) -> int: | |
| """ | |
| Add two numbers. | |
| Args: | |
| a: first int | |
| b: second int | |
| """ | |
| return a + b | |
| def subtract(a: int, b: int) -> int: | |
| """ | |
| Subtract two numbers. | |
| Args: | |
| a: first int | |
| b: second int | |
| """ | |
| return a - b | |
| def divide(a: int, b: int) -> int: | |
| """ | |
| Divide two numbers. | |
| Args: | |
| a: numerator | |
| b: denominator | |
| """ | |
| if b == 0: | |
| raise ValueError("Cannot divide by zero.") | |
| return a / b | |
| def modulus(a: int, b: int) -> int: | |
| """ | |
| Get the modulus of two numbers. | |
| Args: | |
| a: first int | |
| b: second int | |
| """ | |
| return a % b | |
| def wiki_search(query: str) -> str: | |
| """ | |
| Search Wikipedia for a query and return maximum 2 results. The results | |
| are formatted as a JSON string with the source and content of each | |
| document. | |
| Args: | |
| query: The search query.""" | |
| search_docs = WikipediaLoader( | |
| query=query, | |
| load_max_docs=2, | |
| ).load() | |
| formatted_search_docs = [ | |
| { | |
| "source": doc.metadata["source"], | |
| "content": doc.page_content, | |
| } | |
| for doc in search_docs | |
| ] | |
| return json.dumps({"wiki_results": formatted_search_docs}) | |