Spaces:
Sleeping
Sleeping
| from smolagents import DuckDuckGoSearchTool, VisitWebpageTool | |
| from smolagents.tools import tool | |
| # Tools | |
| simple_web_search_tool = DuckDuckGoSearchTool() | |
| visit_web_page_tool = VisitWebpageTool() | |
| def web_search_tool(query: str) -> str: | |
| """ | |
| Given a question, search the web and return a summary answer. | |
| Args: | |
| query (str): The search query to look up. | |
| Returns: | |
| str: A relevant summary or result from DuckDuckGo. | |
| """ | |
| try: | |
| url = "https://api.duckduckgo.com/" | |
| params = {"q": query, "format": "json", "no_html": 1} | |
| response = requests.get(url, params=params) | |
| data = response.json() | |
| if abstract := data.get("AbstractText"): | |
| return abstract | |
| elif related := data.get("RelatedTopics"): | |
| return related[0]["Text"] if related else "No result found." | |
| else: | |
| return "No relevant information found via DuckDuckGo." | |
| except Exception as e: | |
| raise RuntimeError(f"DuckDuckGo search failed: {str(e)}") |