
    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 ddlmZ erdd	lmZ d
d
d
eed
d
d
ddd
f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy
)zPower BI agent.    )annotations)TYPE_CHECKINGAnyDictListOptional)BaseCallbackManager)BaseLanguageModel)POWERBI_PREFIXPOWERBI_SUFFIX)PowerBIToolkit)PowerBIDatasetAgentExecutorN
   Fc                   ddl m} ddlm} ddlm} ||t        d      t        || |      }|j                         }|r|j                  n|j                  j                  }|d|ini } |d ||  |j                  |f|j                  |	      j                  |	      ||d
|||
      |D cg c]  }|j                   c}d|} |j                  d||||
d|xs i S c c}w )a(  Construct a Power BI agent from an LLM and tools.

    Args:
        llm: The language model to use.
        toolkit: Optional. The Power BI toolkit. Default is None.
        powerbi: Optional. The Power BI dataset. Default is None.
        callback_manager: Optional. The callback manager. Default is None.
        prefix: Optional. The prefix for the prompt. Default is POWERBI_PREFIX.
        suffix: Optional. The suffix for the prompt. Default is POWERBI_SUFFIX.
        format_instructions: Optional. The format instructions for the prompt.
            Default is None.
        examples: Optional. The examples for the prompt. Default is None.
        input_variables: Optional. The input variables for the prompt. Default is None.
        top_k: Optional. The top k for the prompt. Default is 10.
        verbose: Optional. Whether to print verbose output. Default is False.
        agent_executor_kwargs: Optional. The agent executor kwargs. Default is None.
        kwargs: Any. Additional keyword arguments.

    Returns:
        The agent executor.
    r   r   )ZeroShotAgent)LLMChainz0Must provide either a toolkit or powerbi dataset)powerbillmexamplesformat_instructions)top_k)tables)prefixsuffixinput_variables)r   promptcallback_managerverbose)	llm_chainallowed_tools)agenttoolsr   r     )langchain.agentsr   langchain.agents.mrkl.baser   langchain.chains.llmr   
ValueErrorr   	get_toolstable_namesr   create_promptformatnamefrom_agent_and_tools)r   toolkitr   r   r   r   r   r   r   r   r    agent_executor_kwargskwargsr   r   r   r$   r   prompt_paramstoolr#   s                        m/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/agent_toolkits/powerbi/base.pycreate_pbi_agentr6      s6   H /8-?OPP cHME$+W  1L1LF * 
 34 
  .=..}}5}1888G /	
   .
 .33Ttyy3 E  .=-- )	
 !&B  4s   3C))r   r
   r0   zOptional[PowerBIToolkit]r   zOptional[PowerBIDataset]r   zOptional[BaseCallbackManager]r   strr   r7   r   Optional[str]r   r8   r   zOptional[List[str]]r   intr    boolr1   zOptional[Dict[str, Any]]r2   r   returnr   )__doc__
__future__r   typingr   r   r   r   r   langchain_core.callbacksr	   langchain_core.language_modelsr
   1langchain_community.agent_toolkits.powerbi.promptr   r   2langchain_community.agent_toolkits.powerbi.toolkitr   %langchain_community.utilities.powerbir   r&   r   r6   r%       r5   <module>rE      s     " ; ; 8 < N @.
 )-(,6:  )-"+/6:I	I%I &I 4	I
 I I 'I I )I I I 4I I IrD   