[docs]def__init__(self)->None:"""Check that wikipedia package is installed."""try:importwikipedia# noqa: F401exceptImportError:raiseImportError("Could not import wikipedia python package. ""Please install it with `pip install wikipedia`.")
[docs]defsearch(self,search:str)->Union[str,Document]:"""Try to search for wiki page. If page exists, return the page summary, and a PageWithLookups object. If page does not exist, return similar entries. Args: search: search string. Returns: a Document object or error message. """importwikipediatry:page_content=wikipedia.page(search).contenturl=wikipedia.page(search).urlresult:Union[str,Document]=Document(page_content=page_content,metadata={"page":url})exceptwikipedia.PageError:result=f"Could not find [{search}]. Similar: {wikipedia.search(search)}"exceptwikipedia.DisambiguationError:result=f"Could not find [{search}]. Similar: {wikipedia.search(search)}"returnresult