
    dh                        S r SSKJr  SSKJrJrJrJrJr  SSK	J
r
  SSKJr  SSKJrJr  SSKJr  SSKJr  \(       a  SS	KJr  S
S
S
\\S
S
S
SSS
4                           SS jjrg
)zPower BI agent.    )annotations)TYPE_CHECKINGAnyDictListOptional)BaseCallbackManager)BaseLanguageModel)POWERBI_PREFIXPOWERBI_SUFFIX)PowerBIToolkit)PowerBIDatasetAgentExecutorN
   Fc                   SSK Jn  SSKJn  SSKJn  Uc  Uc  [        S5      e[        X US9nUR                  5       nU(       a  UR                  OUR                  R                  nUb  SU0O0 nU" SU" U UR                  " U4UR                  U	S9R                  US	9UUS
.UD6UU
S9U Vs/ sH  nUR                  PM     snS.UD6nUR                  " SUUUU
S.U=(       d    0 D6$ s  snf )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                        g/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/agent_toolkits/powerbi/base.pycreate_pbi_agentr6      s4   H /8-?OPP HME$+W  1L1LF * 
 34 
   ..}}5}1888G /	
   .
 .33UTtyyU3 E  -- )	
 !&B  4s   .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   