§
    è˜ºhÍ  ã                   óš  — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZmZmZmZmZmZ ddlmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZD g d¢ZEdeFdefd„ZGg d¢ZHdS ) a9  
**Agent** is a class that uses an LLM to choose a sequence of actions to take.

In Chains, a sequence of actions is hardcoded. In Agents,
a language model is used as a reasoning engine to determine which actions
to take and in which order.

Agents select and use **Tools** and **Toolkits** for actions.

**Class hierarchy:**

.. code-block::

    BaseSingleActionAgent --> LLMSingleActionAgent
                              OpenAIFunctionsAgent
                              XMLAgent
                              Agent --> <name>Agent  # Examples: ZeroShotAgent, ChatAgent
                                        

    BaseMultiActionAgent  --> OpenAIMultiFunctionsAgent
    
    
**Main helpers:**

.. code-block::

    AgentType, AgentExecutor, AgentOutputParser, AgentExecutorIterator,
    AgentAction, AgentFinish
    
é    )ÚPath)ÚAny)Úcreate_json_agentÚcreate_openapi_agentÚcreate_pbi_agentÚcreate_pbi_chat_agentÚcreate_spark_sql_agentÚcreate_sql_agent)Úas_import_path)ÚAgentÚAgentExecutorÚAgentOutputParserÚBaseMultiActionAgentÚBaseSingleActionAgentÚLLMSingleActionAgent)ÚAgentExecutorIterator)Úcreate_vectorstore_agentÚcreate_vectorstore_router_agent)Ú	AgentType)ÚConversationalAgent)ÚConversationalChatAgent)Úinitialize_agent)Úcreate_json_chat_agent)Úget_all_tool_namesÚload_huggingface_toolÚ
load_tools)Ú
load_agent)Ú	MRKLChainÚZeroShotAgent)ÚOpenAIFunctionsAgentÚcreate_openai_functions_agent)ÚOpenAIMultiFunctionsAgent)Úcreate_openai_tools_agent)Úcreate_react_agent)Ú
ReActChainÚReActTextWorldAgent)ÚSelfAskWithSearchChainÚ!create_self_ask_with_search_agent)ÚStructuredChatAgentÚcreate_structured_chat_agent)ÚToolÚtool)ÚXMLAgentÚcreate_xml_agent)Úcreate_csv_agentÚcreate_pandas_dataframe_agentÚcreate_spark_dataframe_agentÚcreate_xorbits_agentÚnameÚreturnc                 ó  — | t           v rjt          t          ¦  «        j        d         }t	          t          t          ¦  «        j        | |¬¦  «        }d|z   }d|z   }t          | › d|› d|› d�¦  «        ‚t          | › d�¦  «        ‚)	zGet attr name.é   )ÚsuffixÚrelative_toz
langchain.zlangchain_experimental.z« has been moved to langchain experimental. See https://github.com/langchain-ai/langchain/discussions/11680for more information.
Please update your import statement from: `z` to `z`.z does not exist)ÚDEPRECATED_CODEr   Ú__file__Úparentsr   ÚparentÚImportErrorÚAttributeError)r3   ÚHEREÚrelative_pathÚold_pathÚnew_paths        úa/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/langchain/agents/__init__.pyÚ__getattr__rD   `   s¿   € à�ÐÐå•H‰~Œ~Ô% aÔ(ˆÝ&Ý•‰NŒNÔ!¨$¸Dð
ñ 
ô 
ˆð   -Ñ/ˆØ,¨}Ñ<ˆÝØð Wð Wð ;CðWð Wð KSðWð Wð Wñ
ô 
ð 	
õ ˜DÐ1Ð1Ð1Ñ
2Ô
2Ð2ó    ))r   r   r   r   r   r   r   r   r   r   r   r    r"   r%   r&   r'   r)   r+   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r,   r-   r!   r.   r$   r#   r(   r   r*   N)IÚ__doc__Úpathlibr   Útypingr   Ú"langchain_community.agent_toolkitsr   r   r   r   r	   r
   Úlangchain_core._api.pathr   Úlangchain.agents.agentr   r   r   r   r   r   Úlangchain.agents.agent_iteratorr   Ú0langchain.agents.agent_toolkits.vectorstore.baser   r   Úlangchain.agents.agent_typesr   Ú$langchain.agents.conversational.baser   Ú)langchain.agents.conversational_chat.baser   Úlangchain.agents.initializer   Úlangchain.agents.json_chat.baser   Úlangchain.agents.load_toolsr   r   r   Úlangchain.agents.loadingr   Úlangchain.agents.mrkl.baser   r   Ú,langchain.agents.openai_functions_agent.baser    r!   Ú2langchain.agents.openai_functions_multi_agent.baser"   Ú"langchain.agents.openai_tools.baser#   Úlangchain.agents.react.agentr$   Úlangchain.agents.react.baser%   r&   Ú*langchain.agents.self_ask_with_search.baser'   r(   Ú%langchain.agents.structured_chat.baser)   r*   Úlangchain.agents.toolsr+   r,   Úlangchain.agents.xml.baser-   r.   r9   ÚstrrD   Ú__all__© rE   rC   ú<module>rb      s#  ððð ð< Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð BÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø DÐ DÐ DÐ DÐ DÐ DØ MÐ MÐ MÐ MÐ MÐ MØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð ð ð
 0Ð /Ð /Ð /Ð /Ð /Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð YÐ XÐ XÐ XÐ XÐ XØ HÐ HÐ HÐ HÐ HÐ HØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ðð ð €ð3�cð 3˜cð 3ð 3ð 3ð 3ð&*ð *ð *€€€rE   