
    h
                        d Z ddlmZ ddlmZmZmZ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 erddlmZ d	eed	d	d
d	f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy	)zJson agent.    )annotations)TYPE_CHECKINGAnyDictListOptional)BaseCallbackManager)BaseLanguageModel)JSON_PREFIXJSON_SUFFIX)JsonToolkitAgentExecutorNFc	                "   ddl m}
 ddlm} ddlm} |j                         }|d|ini } |j                  |f|||d|} || ||      }|D cg c]  }|j                   }} |d
||d|	} |
j                  d
||||d	|xs i S c c}w )a  Construct a json agent from an LLM and tools.

    Args:
        llm: The language model to use.
        toolkit: The toolkit to use.
        callback_manager: The callback manager to use. Default is None.
        prefix: The prefix to use. Default is JSON_PREFIX.
        suffix: The suffix to use. Default is JSON_SUFFIX.
        format_instructions: The format instructions to use. Default is None.
        input_variables: The input variables to use. Default is None.
        verbose: Whether to print verbose output. Default is False.
        agent_executor_kwargs: Optional additional arguments for the agent executor.
        kwargs: Additional arguments for the agent.

    Returns:
        The agent executor.
    r   r   )ZeroShotAgent)LLMChainformat_instructions)prefixsuffixinput_variables)llmpromptcallback_manager)	llm_chainallowed_tools)agenttoolsr   verbose )
langchain.agents.agentr   langchain.agents.mrkl.baser   langchain.chains.llmr   	get_toolscreate_promptnamefrom_agent_and_tools)r   toolkitr   r   r   r   r   r   agent_executor_kwargskwargsr   r   r   r   prompt_paramsr   r   tool
tool_namesr   s                       j/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/agent_toolkits/json/base.pycreate_json_agentr.      s    : 58-E * 
 34 
 )](('	
 F )I
 )..$)).J.RIZR6RE-=-- )	
 !&B  /s   B)r   r
   r'   r   r   zOptional[BaseCallbackManager]r   strr   r/   r   zOptional[str]r   zOptional[List[str]]r   boolr(   zOptional[Dict[str, Any]]r)   r   returnr   )__doc__
__future__r   typingr   r   r   r   r   langchain_core.callbacksr	   langchain_core.language_modelsr
   .langchain_community.agent_toolkits.json.promptr   r   /langchain_community.agent_toolkits.json.toolkitr   r    r   r.   r       r-   <module>r:      s     " ; ; 8 < S G4 7;)-+/6:;	;; 4; 	;
 ; '; ); ; 4; ; ;r9   