o
    ß­jJ
  ã                   @  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-proc                   @  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   úd/var/www/html/CropPilot/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   