
    ; i
                        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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                  8     e Zd ZdZ	 dd fdZddZddZ xZS )EvalCommandz!Implementation of "eval" command.Nmodelsmodel_registry.ModelRegistryenvipython_env.IPythonEnv | Nonec                d    t                                                       || _        || _        dS )zyConstructor.

        Args:
          models: ModelRegistry instance.
          env: The IPythonEnv environment.
        N)super__init___models_ipython_env)selfr   r   	__class__s      }/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/google/generativeai/notebook/eval_cmd.pyr   zEvalCommand.__init__"   s0     	    parsed_argsparsed_args_lib.ParsedArgscell_contentstrpost_processing_fns2Sequence[post_process_utils.ParsedPostProcessExpr]returnpandas.DataFramec                    t          j        |d          }t          j        | j        | j        |||          } ||          }t          j        ||           |                                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'   s          r   executezEvalCommand.execute1   s     0SWXXX";<!#% 3
 
 

 *F+++%g;OOOO**,,,r   tokensSequence[Sequence[str]]c                *    t          j        |          S N)r   resolve_post_processing_tokens)r   r.   s     r   parse_post_processing_tokensz(EvalCommand.parse_post_processing_tokensH   s     "@HHHr   r1   )r   r   r   r   )r   r   r   r   r    r!   r"   r#   )r.   r/   r"   r!   )__name__
__module____qualname____doc__r   r-   r3   __classcell__)r   s   @r   r   r      s}        ++
 .2             - - - -.I I I I I I I Ir   r   )r7   
__future__r   typingr   google.generativeai.notebookr   r   r   r   r	   r
   r   r   pandasCommandr    r   r   <module>r?      s
     " " " " " "       0 0 0 0 0 0 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 7 7 5 5 5 5 5 5 8 8 8 8 8 8 ; ; ; ; ; ; ,I ,I ,I ,I ,I'/ ,I ,I ,I ,I ,Ir   