Final_Assignment_Template / wikipediaLookup.py
Synnove's picture
Update wikipediaLookup.py
c25a1a2 verified
raw
history blame
896 Bytes
from smolagents.tools import Tool
import wikipedia
#@tool
class WikipediaLookupTool(Tool):
name = "wikipedia_lookup"
description = "Look up content from the English Wikipedia based on a query string."
inputs = {
'query': {
'type': 'string',
'description': 'The search term to look up on Wikipedia.'
}
}
output_type = "string"
def forward(self, query: str) -> str:
try:
page = wikipedia.page(query)
return page.content # full text
except wikipedia.DisambiguationError as e:
return f"Disambiguation error. Options: {e.options[:5]}"
except wikipedia.PageError:
return f"Page not found for: {query}"
except Exception as e:
return f"Unexpected error: {e}"
def __init__(self, *args, **kwargs):
self.is_initialized = False