
    ; i                        d Z ddlmZ ddlZddlZddlmZ  ej        d           G d d                      Zej         G d	 d
                      Z	 G d dej
                  Z G d de          ZdS )zAbstract interface for models.    )annotationsN)SequenceT)frozenc                  >    e Zd ZU dZdZded<   dZded<   dZded<   dS )	ModelArgumentsa  Common arguments for models.

    Attributes:
      model: The model string to use. If None a default model will be selected.
      temperature: The temperature. Must be greater-than-or-equal-to zero.
      candidate_count: Number of candidates to return.
    Nz
str | Nonemodelzfloat | Nonetemperaturez
int | Nonecandidate_count)__name__
__module____qualname____doc__r   __annotations__r	   r
        ~/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/google/generativeai/notebook/lib/model.pyr   r      sQ           E $K$$$$"&O&&&&&&r   r   c                  (    e Zd ZU dZded<   ded<   dS )ModelResultsz0Results from calling AbstractModel.call_model().strmodel_inputzSequence[str]text_resultsN)r   r   r   r   r   r   r   r   r   r   &   s0         ::r   r   c                  4    e Zd Zej        	 d	d
d            ZdS )AbstractModelNr   r   
model_argsModelArguments | Nonereturnr   c                    dS )zExecutes the model.Nr   )selfr   r   s      r   
call_modelzAbstractModel.call_model/   s      r   Nr   r   r   r   r   r   )r   r   r   abcabstractmethodr   r   r   r   r   r   .   s>        DH" " " " " " "r   r   c                      e Zd ZdZ	 d
dd	ZdS )	EchoModelzTModel that returns the original input.

    This is primarily used for testing.
    Nr   r   r   r   r   r   c                J    |r|j         nd }|d}t          ||g|z            S )N   )r   r   )r
   r   )r   r   r   r
   s       r   r   zEchoModel.call_model<   sF     9CL*44"O#%8
 
 
 	
r   r    r!   )r   r   r   r   r   r   r   r   r%   r%   6   s>          EI	
 	
 	
 	
 	
 	
 	
r   r%   )r   
__future__r   r"   dataclassestypingr   	dataclassr   r   ABCr   r%   r   r   r   <module>r-      s#   % $ " " " " " " 



           d###' ' ' ' ' ' ' $#'                " " " " "CG " " "
 
 
 
 
 
 
 
 
 
r   