a
    ag                  
   @   s  d 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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% ddl&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z? erddl@mAZA ddlBmCZCmDZDmEZE ddlFmGZG ddlHmIZI ddlJmKZK dd lLmMZM dd!lNmOZO g d"ZPd#d$d%d&d'd(d)d)d)d*	ZQeeReQd+ZSeTed,d-d.ZUg d/ZVd0S )1a  
**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)TYPE_CHECKINGAny)as_import_path)Tool)tool)create_importer)AgentAgentExecutorAgentOutputParserBaseMultiActionAgentBaseSingleActionAgentLLMSingleActionAgent)AgentExecutorIterator)create_vectorstore_agentcreate_vectorstore_router_agent)	AgentType)ConversationalAgent)ConversationalChatAgent)initialize_agent)create_json_chat_agent)
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)create_tool_calling_agent)XMLAgentcreate_xml_agent)create_json_agent)get_all_tool_namesload_huggingface_tool
load_tools)create_openapi_agent)create_pbi_agent)create_pbi_chat_agent)create_spark_sql_agent)create_sql_agent)Zcreate_csv_agentZcreate_pandas_dataframe_agentZcreate_spark_dataframe_agentZcreate_xorbits_agentz,langchain_community.agent_toolkits.json.basez/langchain_community.agent_toolkits.openapi.basez/langchain_community.agent_toolkits.powerbi.basez4langchain_community.agent_toolkits.powerbi.chat_basez1langchain_community.agent_toolkits.spark_sql.basez+langchain_community.agent_toolkits.sql.basez-langchain_community.agent_toolkits.load_tools)	r(   r,   r-   r.   r/   r0   r+   r*   r)   )Zdeprecated_lookups)namereturnc                 C   s\   | t v rTttjd }tttj| |d}d| }d| }t|  d| d| dt| S )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`.)DEPRECATED_CODEr   __file__parentsr   parentImportError_import_attribute)r1   ZHERErelative_pathold_pathnew_path r?   g/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain/agents/__init__.py__getattr__w   s    rA   )*r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r#   r   r(   r,   r-   r.   r/   r0   r   r   r)   r   r   r*   r+   r&   r   r'   r   r   r"   r   r$   r%   r   r   N)W__doc__pathlibr   typingr   r   Zlangchain_core._api.pathr   Zlangchain_core.toolsr   Zlangchain_core.tools.convertr   Zlangchain._apir   Zlangchain.agents.agentr	   r
   r   r   r   r   Zlangchain.agents.agent_iteratorr   Z0langchain.agents.agent_toolkits.vectorstore.baser   r   Zlangchain.agents.agent_typesr   Z$langchain.agents.conversational.baser   Z)langchain.agents.conversational_chat.baser   Zlangchain.agents.initializer   Zlangchain.agents.json_chat.baser   Zlangchain.agents.loadingr   Zlangchain.agents.mrkl.baser   r   Z,langchain.agents.openai_functions_agent.baser   r   Z2langchain.agents.openai_functions_multi_agent.baser   Z"langchain.agents.openai_tools.baser   Zlangchain.agents.react.agentr   Zlangchain.agents.react.baser   r    Z*langchain.agents.self_ask_with_search.baser!   r"   Z%langchain.agents.structured_chat.baser#   r$   Z(langchain.agents.tool_calling_agent.baser%   Zlangchain.agents.xml.baser&   r'   Z,langchain_community.agent_toolkits.json.baser(   Z-langchain_community.agent_toolkits.load_toolsr)   r*   r+   Z/langchain_community.agent_toolkits.openapi.baser,   Z/langchain_community.agent_toolkits.powerbi.baser-   Z4langchain_community.agent_toolkits.powerbi.chat_baser.   Z1langchain_community.agent_toolkits.spark_sql.baser/   Z+langchain_community.agent_toolkits.sql.baser0   r6   ZDEPRECATED_LOOKUP__package__r;   strrA   __all__r?   r?   r?   r@   <module>   s^    