§
    šŠtj-
  ã                  óŽ   — 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d	S )"zJson agent.é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚDictÚListÚOptional)ÚBaseCallbackManager)ÚBaseLanguageModel)ÚJSON_PREFIXÚJSON_SUFFIX)ÚJsonToolkit©ÚAgentExecutorNFÚllmr
   Útoolkitr   Úcallback_managerúOptional[BaseCallbackManager]ÚprefixÚstrÚsuffixÚformat_instructionsúOptional[str]Úinput_variablesúOptional[List[str]]ÚverboseÚboolÚagent_executor_kwargsúOptional[Dict[str, Any]]Úkwargsr   Úreturnr   c	                óô   — ddl m}
 ddlm} ddlm} |                     ¦   «         }|�d|ini } |j        |f|||dœ|¤Ž} || ||¬¦  «        }d	„ |D ¦   «         } |d||d
œ|	¤Ž} |
j        d||||dœ|pi ¤ŽS )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)ÚLLMChainNr   )r   r   r   )r   Úpromptr   c                ó   — g | ]	}|j         ‘Œ
S © )Úname)Ú.0Útools     új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/agent_toolkits/json/base.pyú
<listcomp>z%create_json_agent.<locals>.<listcomp>D   s   € Ð.Ð.Ð. �$”)Ð.Ð.Ð.ó    )Ú	llm_chainÚallowed_tools)ÚagentÚtoolsr   r   r&   )	Úlangchain_classic.agents.agentr   Ú"langchain_classic.agents.mrkl.baser"   Úlangchain_classic.chains.llmr#   Ú	get_toolsÚcreate_promptÚfrom_agent_and_tools)r   r   r   r   r   r   r   r   r   r   r   r"   r#   r0   Úprompt_paramsr$   r-   Ú
tool_namesr/   s                      r*   Úcreate_json_agentr9      s-  € ð: =Ð<Ð<Ð<Ð<Ð<Ø@Ð@Ð@Ð@Ð@Ð@Ø5Ð5Ð5Ð5Ð5Ð5à×ÒÑÔ€Eð Ð*ð 
Ð 3Ð4Ð4àð ð
 )ˆ]Ô(ØðàØØ'ð	ð ð
 ðð €Fð �ØØØ)ðñ ô €Ið
 /Ð.¨Ð.Ñ.Ô.€JØˆMÐR I¸ZÐRÐRÈ6ÐRÐR€EØ-ˆ=Ô-ð ØØØ)Øð	ð ð
 !Ð& Bðð ð r,   )r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   )Ú__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   r1   r   r9   r&   r,   r*   ú<module>rA      sé   ðØ Ð à "Ð "Ð "Ð "Ð "Ð "à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø <Ð <Ð <Ð <Ð <Ð <à SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ GÐ GÐ GÐ GÐ GÐ Gàð =Ø<Ð<Ð<Ð<Ð<Ð<ð 7;ØØØ)-Ø+/ØØ6:ð;ð ;ð ;ð ;ð ;ð ;ð ;r,   