
    ; iP
                    p    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Z G d d	ej                  ZdS )
z!Model that uses the Text service.    )annotations)retryN)generation_types)modelzmodels/gemini-1.5-flashc                  .    e Zd ZdZ	 	 	 dddZ	 dddZdS )	TextModelz6Concrete model that uses the generate_content service.Npromptstrr   
str | Nonetemperaturefloat | Nonecandidate_count
int | Nonereturn(generation_types.GenerateContentResponsec                    i }|||d<   |||d<   |pt           }t          j        |          }t          j        j        j        di |}|                    ||          S )Nr   r   )
model_name)generation_config )_DEFAULT_MODELgenaiGenerativeModeltypesr   GenerationConfiggenerate_content)	selfr	   r   r   r   
gen_configr   	gen_modelgcs	            /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/google/generativeai/notebook/text_model.py_generate_textzTextModel._generate_text   s{     
"(3J}%&,;J(),n
)Z@@@	[):HHZHH))&B)GGG    model_input
model_argsmodel_lib.ModelArguments | Nonemodel_lib.ModelResultsc                |   |t          j                    } t          j        t          j                  | j                  } |||j        |j        |j                  }g }|j	        D ]>}|
                    d                    d |j        j        D                                  ?t          j        ||          S )N)r	   r   r   r    c              3  $   K   | ]}|j         V  d S N)text).0ps     r    	<genexpr>z'TextModel.call_model.<locals>.<genexpr>C   s$      'H'H1'H'H'H'H'H'Hr"   )r#   text_results)	model_libModelArgumentsr   Retryif_transient_errorr!   r   r   r   
candidatesappendjoincontentpartsModelResults)r   r#   r$   retryable_fnresponsetext_outputscs          r    
call_modelzTextModel.call_model/   s    
 "133J =u{5#;<<T=PQQ<"".&6	
 
 
 $ 	J 	JA'H'H	'H'H'H H HIIII%#%
 
 
 	
r"   )NNN)
r	   r
   r   r   r   r   r   r   r   r   r*   )r#   r
   r$   r%   r   r&   )__name__
__module____qualname____doc__r!   r>   r   r"   r    r   r      sa        @@
 !$(&*H H H H H* 7;
 
 
 
 
 
 
r"   r   )rB   
__future__r   google.api_corer   google.generativeaigenerativeair   google.generativeai.typesr    google.generativeai.notebook.libr   r0   r   AbstractModelr   r   r"   r    <module>rJ      s    ( ' " " " " " " ! ! ! ! ! ! # # # # # # 6 6 6 6 6 6 ? ? ? ? ? ?*.
 .
 .
 .
 .
	' .
 .
 .
 .
 .
r"   