Source code for langchain_community.tools.arxiv.tool
"""Tool for the Arxiv API."""fromtypingimportOptional,Typefromlangchain_core.callbacksimportCallbackManagerForToolRunfromlangchain_core.toolsimportBaseToolfrompydanticimportBaseModel,Fieldfromlangchain_community.utilities.arxivimportArxivAPIWrapper
[docs]classArxivInput(BaseModel):"""Input for the Arxiv tool."""query:str=Field(description="search query to look up")
[docs]classArxivQueryRun(BaseTool):# type: ignore[override, override]"""Tool that searches the Arxiv API."""name:str="arxiv"description:str=("A wrapper around Arxiv.org ""Useful for when you need to answer questions about Physics, Mathematics, ""Computer Science, Quantitative Biology, Quantitative Finance, Statistics, ""Electrical Engineering, and Economics ""from scientific articles on arxiv.org. ""Input should be a search query.")api_wrapper:ArxivAPIWrapper=Field(default_factory=ArxivAPIWrapper)# type: ignore[arg-type]args_schema:Type[BaseModel]=ArxivInputdef_run(self,query:str,run_manager:Optional[CallbackManagerForToolRun]=None,)->str:"""Use the Arxiv tool."""returnself.api_wrapper.run(query)