o
    i                     @   s   d dl mZ d dlmZ ddlmZmZmZmZm	Z	m
Z
 ddlZG dd deZG dd	 d	eZG d
d deZeddee fdefdefgZG dd deZdS )   )CohereObject)Mode    )ListOptional
NamedTuple	GeneratorDictAnyNc                   @   s"   e Zd ZdededdfddZdS )TokenLikelihoodtoken
likelihoodreturnNc                 C      || _ || _d S N)r   r   )selfr   r    r   v/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/cohere/manually_maintained/cohere_aws/generation.py__init__   s   
zTokenLikelihood.__init__)__name__
__module____qualname__strfloatr   r   r   r   r   r      s    r   c                   @   s&   e Zd Zdedee ddfddZdS )
Generationtexttoken_likelihoodsr   Nc                 C   r   r   )r   r   )r   r   r   r   r   r   r      s   
zGeneration.__init__)r   r   r   r   r   r   r   r   r   r   r   r      s    r   c                   @   s`   e Zd Zdee ddfddZedeee	f dee fddZ
defd	d
ZdefddZdS )Generationsgenerationsr   Nc                 C   s   || _ t|| _d S r   )r   iteriterator)r   r   r   r   r   r      s   zGenerations.__init__responsec                 C   sv   g }|d D ]0}d }d|v r,g }|d D ]}d|v r|d }nd }| t|d | q| t|d | q| |S )Nr   r   r   r   r   )appendr   r   )clsr!   r   genr   likelihoodstoken_likelihoodr   r   r   	from_dict   s   
zGenerations.from_dictc                 C   s   | j S r   )r    r   r   r   r   __iter__-   s   zGenerations.__iter__c                 C   s
   t | jS r   )nextr    r(   r   r   r   __next__0   s   
zGenerations.__next__)r   r   r   r   r   r   classmethodr	   r   r
   r'   r   r)   r*   r+   r   r   r   r   r      s    
 r   StreamingTextindexr   is_finishedc                   @   s>   e Zd Zdd Zdee fddZdeeddf fddZdS )	StreamingGenerationsc                 C   s\   || _ d | _d | _d | _t | _|tjkrd| _d| _	d S |tj
kr*d| _d| _	d S td)NPayloadPartByteschunkbyteszUnsupported mode)streamidr   finish_reason	bytearrayr4   r   	SAGEMAKERpayload_key	bytes_keyBEDROCKCohereError)r   r5   moder   r   r   r   ;   s   



zStreamingGenerations.__init__r   c                 C   s|   | d}|s| dd}| d}|d u rd S t|||dS | d| _| d}|d u r0d S | d| _t|| _d S )	Nr/   r.   r   r   )r   r/   r.   r7   r!   r6   )getr-   r7   r6   r   r'   r   )r   streaming_itemr/   r.   r   generation_responser   r   r   _make_response_itemK   s    


z(StreamingGenerations._make_response_itemNc              	   c   sn    | j D ]0}| j|| j | j  z| t| j}W n tjj	y(   Y qw t
 | _|d ur4|V  qd S r   )r5   r4   extendr:   r;   rB   jsonloadsdecoderJSONDecodeErrorr8   )r   payloaditemr   r   r   r)   `   s   
zStreamingGenerations.__iter__)	r   r   r   r   r   r-   rB   r   r)   r   r   r   r   r0   :   s    r0   )r!   r   r>   r   typingr   r   r   r   r	   r
   rD   r   r   r   intr   boolr-   r0   r   r   r   r   <module>   s     
