
    Ng                         d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ  G d de	          Z G d	 d
e          ZdS )zTool for the Arxiv API.    )OptionalType)CallbackManagerForToolRun)BaseTool)	BaseModelField)ArxivAPIWrapperc                   6    e Zd ZU dZ ed          Zeed<   dS )
ArxivInputzInput for the Arxiv tool.zsearch query to look up)descriptionqueryN)__name__
__module____qualname____doc__r   r   str__annotations__     `/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/tools/arxiv/tool.pyr   r      s6         ###<===E3=====r   r   c                       e Zd ZU dZdZeed<   dZeed<    ee	          Z
e	ed<   eZee         ed<   	 dd
edee         defdZd	S )ArxivQueryRunz!Tool that searches the Arxiv API.arxivnamea  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.r   )default_factoryapi_wrapperargs_schemaNr   run_managerreturnc                 6    | j                             |          S )zUse the Arxiv tool.)r   run)selfr   r   s      r   _runzArxivQueryRun._run!   s     ##E***r   )N)r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r#   r   r   r   r   r      s         ++D#	*     $)5#I#I#IKIII#-Ki---
 <@+ ++ 78+ 
	+ + + + + +r   r   N)r   typingr   r   langchain_core.callbacksr   langchain_core.toolsr   pydanticr   r   #langchain_community.utilities.arxivr	   r   r   r   r   r   <module>r)      s      ! ! ! ! ! ! ! ! > > > > > > ) ) ) ) ) ) % % % % % % % % ? ? ? ? ? ?> > > > > > > >+ + + + +H + + + + +r   