o
    ß­jÄ
  ã                   @  sš   d 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
 dd	lmZ dd
lmZ ddlmZ ddlZG dd„ dejƒZdS )zThe eval command.é    )Úannotations)ÚSequence)Úcommand)Úcommand_utils)Úinput_utils)Úipython_env)Úmodel_registry)Úoutput_utils)Úparsed_args_lib)Úpost_process_utilsNc                      s:   e Zd ZdZ	dd‡ fdd„Zddd„Zddd„Z‡  ZS )ÚEvalCommandz!Implementation of "eval" command.NÚmodelsúmodel_registry.ModelRegistryÚenvúipython_env.IPythonEnv | Nonec                   s   t ƒ  ¡  || _|| _dS )zyConstructor.

        Args:
          models: ModelRegistry instance.
          env: The IPythonEnv environment.
        N)ÚsuperÚ__init__Ú_modelsÚ_ipython_env)Úselfr   r   ©Ú	__class__© úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/google/generativeai/notebook/eval_cmd.pyr   "   s   

zEvalCommand.__init__Úparsed_argsúparsed_args_lib.ParsedArgsÚcell_contentÚstrÚpost_processing_fnsú2Sequence[post_process_utils.ParsedPostProcessExpr]Úreturnúpandas.DataFramec                 C  sF   t j|dd�}tj| j| j|||d�}||d�}tj||d� | ¡ S )NT)Úsuppress_status_msgs)r   r   r   r   r   )Úinputs)Úresultsr   )	r   Újoin_inputs_sourcesr   Úcreate_llm_eval_functionr   r   r	   Úwrite_to_outputsÚas_pandas_dataframe)r   r   r   r   r#   Ú
llm_cmp_fnr$   r   r   r   Úexecute1   s   	û
zEvalCommand.executeÚtokensúSequence[Sequence[str]]c                 C  s
   t  |¡S ©N)r   Úresolve_post_processing_tokens)r   r+   r   r   r   Úparse_post_processing_tokensH   s   
z(EvalCommand.parse_post_processing_tokensr-   )r   r   r   r   )r   r   r   r   r   r   r    r!   )r+   r,   r    r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r*   r/   Ú__classcell__r   r   r   r   r      s    ý
r   )r3   Ú
__future__r   Útypingr   Úgoogle.generativeai.notebookr   r   r   r   r   r	   r
   r   ÚpandasÚCommandr   r   r   r   r   Ú<module>   s   