U
    hB                     @  sJ   d Z ddlmZ ddlmZ ddlmZ ddlmZ	 G dd de	j
ZdS )	z!Model that uses the Text service.    )annotations)retry)text)modelc                   @  s<   e Zd ZdZdddddddd	d
ZdddddddZdS )	TextModelz*Concrete model that uses the Text service.Nstrz
str | Nonezfloat | Nonez
int | Noneztext.Completion)promptr   temperaturecandidate_countreturnc                 K  sD   |d k	r||d< |d k	r ||d< |d k	r0||d< t jf d|i|S )Nr   r	   r
   r   )r   Zgenerate_text)selfr   r   r	   r
   kwargs r   K/tmp/pip-unpacked-wheel-doshhd5e/google/generativeai/notebook/text_model.py_generate_text   s    zTextModel._generate_textzmodel_lib.ModelArguments | Nonezmodel_lib.ModelResults)model_input
model_argsr   c                 C  sR   |d krt  }ttj| j}|||j|j|jd}t j	|dd |j
D dS )N)r   r   r	   r
   c                 S  s   g | ]}|d  qS )outputr   ).0xr   r   r   
<listcomp><   s     z(TextModel.call_model.<locals>.<listcomp>)r   Ztext_results)	model_libZModelArgumentsr   RetryZif_transient_errorr   r   r	   r
   ZModelResults
candidates)r   r   r   Zretryable_fnresponser   r   r   
call_model*   s    zTextModel.call_model)NNN)N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s       r   N)r   
__future__r   Zgoogle.api_corer   Zgoogle.generativeair   Z google.generativeai.notebook.libr   r   ZAbstractModelr   r   r   r   r   <module>   s
   