
    rhP
                    r    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y)
z!Model that uses the Text service.    )annotations)retryN)generation_types)modelzmodels/gemini-1.5-flashc                  H    e Zd ZdZ	 	 	 d	 	 	 	 	 	 	 	 	 ddZ	 d	 	 	 	 	 ddZy)		TextModelz6Concrete model that uses the generate_content service.Nc                    i }|||d<   |||d<   |xs t         }t        j                  |      }t        j                  j                  j
                  di |}|j                  ||      S )Ntemperaturecandidate_count)
model_name)generation_config )_DEFAULT_MODELgenaiGenerativeModeltypesr   GenerationConfiggenerate_content)	selfpromptr   r
   r   
gen_configr   	gen_modelgcs	            z/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/google/generativeai/notebook/text_model.py_generate_textzTextModel._generate_text   sw     
"(3J}%&,;J(),n
))Z@	[[))::HZH))&B)GG    c                   |t        j                         } t        j                  t        j                        | j
                        } |||j                  |j                  |j                        }g }|j                  D ]=  }|j                  dj                  d |j                  j                  D                     ? t        j                  ||      S )N)r   r   r
   r    c              3  4   K   | ]  }|j                     y wN)text).0ps     r   	<genexpr>z'TextModel.call_model.<locals>.<genexpr>C   s     'H1'Hs   )model_inputtext_results)	model_libModelArgumentsr   Retryif_transient_errorr   r   r
   r   
candidatesappendjoincontentpartsModelResults)r   r%   
model_argsretryable_fnresponsetext_outputscs          r   
call_modelzTextModel.call_model/   s    
 "113J =u{{5#;#;<T=P=PQ"""..&66	
 $$ 	JA'H		'H HI	J %%#%
 	
r   )NNN)
r   strr   z
str | Noner
   zfloat | Noner   z
int | Nonereturnz(generation_types.GenerateContentResponser    )r%   r7   r1   zmodel_lib.ModelArguments | Noner8   zmodel_lib.ModelResults)__name__
__module____qualname____doc__r   r6   r   r   r   r   r      sq    @
 !$(&*HH H "	H
 $H 
2H* 7;

 4
 
 	
r   r   )r<   
__future__r   google.api_corer   google.generativeaigenerativeair   google.generativeai.typesr    google.generativeai.notebook.libr   r'   r   AbstractModelr   r   r   r   <module>rD      s0    ( " ! # 6 ?*.
	'' .
r   