Final_Assignment_Template / wikipedia_searcher.py
dlaima's picture
Update wikipedia_searcher.py
add03b8 verified
raw
history blame
959 Bytes
from smolagents import Tool
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper
class WikipediaSearcher(Tool):
name = "wikipedia_search"
description = "Search Wikipedia and return a summary for a given query."
inputs = {
"query": {
"type": "string",
"description": "Search term for Wikipedia"
}
}
output_type = "string"
def __init__(self):
super().__init__()
self.wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper())
def forward(self, query: str) -> str:
try:
result = self.wikipedia.run(query)
# Optionally truncate long summaries for better display
if len(result) > 1000:
result = result[:1000] + "..."
return result.strip()
except Exception as e:
return f"Error retrieving Wikipedia data: {e}"