Ë
    ¥ãi8  ã                   óº   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZmZmZmZ dZdZ G d	„ d
ee«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    N)ÚABC)ÚAny)ÚInferenceProviderMapping)ÚRequestParametersÚ_as_dict)ÚBaseConversationalTaskÚBaseTextGenerationTaskÚTaskProviderHelperÚfilter_noneÚtogetherzhttps://api.together.xyzc                   ó<   ‡ — e Zd ZdZdefˆ fd„Zdededefd„Zˆ xZS )ÚTogetherTaskz"Base class for Together API tasks.Útaskc                 ó:   •— t         ‰|   t        t        |¬«       y )N)ÚproviderÚbase_urlr   ©ÚsuperÚ__init__Ú	_PROVIDERÚ	_BASE_URL)Úselfr   Ú	__class__s     €ú~/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/together.pyr   zTogetherTask.__init__   s   ø€ Ü‰Ñ¤)´iÀdÐÕKó    Úmapped_modelÚapi_keyÚreturnc                 ó”   — | j                   dk(  ry| j                   dk(  ry| j                   dk(  ryt        d| j                   › d«      ‚)	Nútext-to-imagez/v1/images/generationsÚconversationalz/v1/chat/completionsztext-generationz/v1/completionszUnsupported task 'z' for Together API.)r   Ú
ValueError)r   r   r   s      r   Ú_prepare_routezTogetherTask._prepare_route   sK   € Ø9‰9˜Ò'Ø+ØY‰YÐ*Ò*Ø)ØY‰YÐ+Ò+Ø$ÜÐ-¨d¯i©i¨[Ð8KÐLÓMÐMr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r#   Ú__classcell__©r   s   @r   r   r      s2   ø„ Ù,ðL˜Sõ LðN¨3ð N¸ð NÀ÷ Nr   r   c                   ó@   ‡ — e Zd Zˆ fd„Zddeez  dedz  defd„Zˆ xZ	S )ÚTogetherTextGenerationTaskc                 ó8   •— t         ‰|   t        t        ¬«       y ©N)r   r   r   ©r   r   s    €r   r   z#TogetherTextGenerationTask.__init__$   ó   ø€ Ü‰Ñ¤)´iÐÕ@r   NÚresponseÚrequest_paramsr   c                 óv   — t        |«      d   d   }|d   |j                  d«      |j                  d«      dœdœS )NÚchoicesr   ÚtextÚfinish_reasonÚseed)r6   r7   )Úgenerated_textÚdetails)r   Úget)r   r1   r2   Úoutputs       r   Úget_responsez'TogetherTextGenerationTask.get_response'   sD   € Ü˜(Ó# IÑ.¨qÑ1ˆà$ V™nà!'§¡¨OÓ!<ØŸ
™
 6Ó*ññ
ð 	
r   ©N)
r$   r%   r&   r   ÚbytesÚdictr   r   r<   r)   r*   s   @r   r,   r,   #   s/   ø„ ôAñ
 U¨T¡\ð 
ÐCTÐW[ÑC[ð 
Ðgj÷ 
r   r,   c            	       ó@   ‡ — e Zd Zˆ fd„Zdededededz  fˆ fd„Zˆ xZS )ÚTogetherConversationalTaskc                 ó8   •— t         ‰|   t        t        ¬«       y r.   r   r/   s    €r   r   z#TogetherConversationalTask.__init__3   r0   r   ÚinputsÚ
parametersÚprovider_mapping_infor   Nc                 óô   •— t         ‰|   |||«      }|j                  d«      }t        |t        «      rD|j                  d«      dk(  r0|j                  d«      }t        |t        «      rd|v rd|d   dœ|d<   |S )NÚresponse_formatÚtypeÚjson_schemaÚschemaÚjson_object)rH   rJ   )r   Ú_prepare_payload_as_dictr:   Ú
isinstancer?   )r   rC   rD   rE   ÚpayloadrG   Újson_schema_detailsr   s          €r   rL   z3TogetherConversationalTask._prepare_payload_as_dict6   sˆ   ø€ ô ‘'Ñ2°6¸:ÐG\Ó]ˆØ$Ÿ.™.Ð):Ó;ˆÜo¤tÔ,°×1DÑ1DÀVÓ1LÐP]Ò1]Ø"1×"5Ñ"5°mÓ"DÐÜÐ-¬tÔ4¸ÐEXÑ9Xà)Ø1°(Ñ;ñ.Ð)Ñ*ð
 ˆr   )	r$   r%   r&   r   r   r?   r   rL   r)   r*   s   @r   rA   rA   2   s7   ø„ ôAðØðØ'+ðØD\ðà	‰÷ñ r   rA   c            	       ó^   ‡ — e Zd Zˆ fd„Zdededededz  fd„Zddeez  d	e	dz  defd
„Z
ˆ xZS )ÚTogetherTextToImageTaskc                 ó$   •— t         ‰|   d«       y )Nr    )r   r   r/   s    €r   r   z TogetherTextToImageTask.__init__G   s   ø€ Ü‰Ñ˜Õ)r   rC   rD   rE   r   Nc                 ó¦   — |j                   }t        |«      }d|v r|j                  d«      |d<   d|v r|j                  d«      |d<   |ddœ|¥d|i¥S )NÚnum_inference_stepsÚstepsÚguidance_scaleÚguidanceÚbase64)ÚpromptrG   Úmodel)Úprovider_idr   Úpop)r   rC   rD   rE   r   s        r   rL   z0TogetherTextToImageTask._prepare_payload_as_dictJ   si   € ð -×8Ñ8ˆÜ  Ó,ˆ
Ø  JÑ.Ø",§.¡.Ð1FÓ"GˆJwÑØ˜zÑ)Ø%/§^¡^Ð4DÓ%EˆJzÑ"à °XÑcÀÐcÈWÐVbÑcÐcr   r1   r2   c                 óT   — t        |«      }t        j                  |d   d   d   «      S )NÚdatar   Úb64_json)r   rX   Ú	b64decode)r   r1   r2   Úresponse_dicts       r   r<   z$TogetherTextToImageTask.get_responseV   s,   € Ü  Ó*ˆÜ×Ñ ¨fÑ 5°aÑ 8¸Ñ DÓEÐEr   r=   )r$   r%   r&   r   r   r?   r   rL   r>   r   r<   r)   r*   s   @r   rQ   rQ   F   s`   ø„ ô*ð
dØð
dØ'+ð
dØD\ð
dà	‰ó
dñF U¨T¡\ð FÐCTÐW[ÑC[ð FÐgj÷ Fr   rQ   )rX   Úabcr   Útypingr   Úhuggingface_hub.hf_apir   Ú!huggingface_hub.inference._commonr   r   Ú,huggingface_hub.inference._providers._commonr   r	   r
   r   r   r   r   r,   rA   rQ   © r   r   ú<module>rh      sc   ðÛ Ý Ý å ;ß I÷ó ð €	Ø&€	ôNÐ% sô Nô 
Ð!7ô 
ôÐ!7ô ô(F˜lõ Fr   