o
    Zh
                     @  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ZG dd dejZdS )zThe compare command.    )annotations)Sequence)command)command_utils)input_utils)ipython_env)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 )CompareCommandz$Implementation of "compare" command.Nenvipython_env.IPythonEnv | Nonec                   s   t    || _dS )zOConstructor.

        Args:
          env: The IPythonEnv environment.
        N)super__init___ipython_env)selfr   	__class__ _/var/www/html/lang_env/lib/python3.10/site-packages/google/generativeai/notebook/compare_cmd.pyr   !   s   
	
zCompareCommand.__init__parsed_argsparsed_args_lib.ParsedArgscell_contentstrpost_processing_fns2Sequence[post_process_utils.ParsedPostProcessExpr]returnpandas.DataFramec                 C  s@   t j|dd}tj| j||d}||d}tj||d | S )NT)Zsuppress_status_msgs)r   r   r   )inputs)resultsr   )r   Zjoin_inputs_sourcesr   Zcreate_llm_compare_functionr   r   Zwrite_to_outputsZas_pandas_dataframe)r   r   r   r   r   Z
llm_cmp_fnr   r   r   r   execute-   s   	
zCompareCommand.executetokensSequence[Sequence[str]]c                 C  s   |rt dg S )Nz-Post-processing is not supported by "compare")RuntimeError)r   r!   r   r   r   parse_post_processing_tokensB   s   z+CompareCommand.parse_post_processing_tokens)N)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   )r(   
__future__r   typingr   Zgoogle.generativeai.notebookr   r   r   r   r   r	   r
   ZpandasCommandr   r   r   r   r   <module>   s   