o
    j6hP
                     @  sZ   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	 d	ejZdS )
z!Model that uses the Text service.    )annotations)retryN)generation_types)modelzmodels/gemini-1.5-flashc                   @  s0   e Zd ZdZ			ddddZ	d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           	      C  sZ   i }|d ur
||d< |d ur||d< |pt }tj|d}tjjjdi |}|j||dS )Nr
   r   )
model_name)generation_config )_DEFAULT_MODELgenaiGenerativeModeltypesr   GenerationConfiggenerate_content)	selfr   r   r
   r   
gen_configr   	gen_modelgcr   r   v/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/google/generativeai/notebook/text_model.py_generate_text   s   zTextModel._generate_textmodel_input
model_argsmodel_lib.ModelArguments | Nonemodel_lib.ModelResultsc                 C  st   |d u rt  }ttj| j}|||j|j|jd}g }|j	D ]}|
ddd |jjD  q!t j||dS )N)r   r   r
   r    c                 s  s    | ]}|j V  qd S N)text).0pr   r   r   	<genexpr>C   s    z'TextModel.call_model.<locals>.<genexpr>)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cr   r   r   
call_model/   s    
 zTextModel.call_model)NNN)
r   r   r   r	   r
   r   r   r   r   r   r$   )r   r   r    r!   r   r"   )__name__
__module____qualname____doc__r   r8   r   r   r   r   r      s    r   )r<   
__future__r   google.api_corer   google.generativeaigenerativeair   google.generativeai.typesr    google.generativeai.notebook.libr   r*   r   AbstractModelr   r   r   r   r   <module>   s   