agents_course / tools /WikipediaTool.py
umarbalak's picture
fix
38a9d89
Raw History Blame Contribute Delete
760 Bytes
from smolagents import Tool
import wikipedia
class LocalWikipediaTool(Tool):
name = "wikipedia_search"
description = "Search Wikipedia and return summary. Use only after web search."
inputs = {"query": {"type": "string", "description": "Search term"}}
output_type = "string"
def forward(self, query: str) -> str:
try:
results = wikipedia.search(query, results=3)
if not results:
return "No results found."
page_title = results[0]
summary = wikipedia.summary(page_title, sentences=5, auto_suggest=False)
return f"Title: {page_title}\n\nSummary: {summary}"
except Exception as e:
return f"Wikipedia error: {str(e)[:150]}"