§
    é˜ºh  ã                  óð   — 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
   © ó    ún/var/www/html/services/rag-service/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Ð#Ñ#Ô#ð'ð 'ð 'ð 'ð 'ñ 'ô 'ñ $Ô#ð'ð Ôð ð  ð  ð  ð  ñ  ô  ñ Ôð ð"ð "ð "ð "ð "�C”Gñ "ô "ð "ð
ð 
ð 
ð 
ð 
�ñ 
ô 
ð 
ð 
ð 
r   