o
    j6h
                     @  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__ t/var/www/html/chefvision.cloud.itp360.com/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_fns2Sequence[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   