§
    }Štj¼/  ã                   óÞ  — d dl Z 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
mZ d dlmZmZmZmZ d dlmZmZmZ  ej        e¦  «        ZdZd	Zd
ZdZddhZ G d„ dee¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ de¦  «        Z" G d„ de¦  «        Z#de$de$fd„Z% G d„ d ee¦  «        Z& G d!„ d"e&¦  «        Z' G d#„ d$e&¦  «        Z(dS )%é    N)ÚABC)ÚAny)ÚInferenceProviderMapping)ÚRequestParametersÚ_as_dictÚ_as_url)ÚBaseConversationalTaskÚBaseTextGenerationTaskÚTaskProviderHelperÚfilter_none)Úget_sessionÚhf_raise_for_statusÚloggingÚtogetherzhttps://api.together.xyzg       @é–   ÚqueuedÚin_progressc                   ó<   ‡ — 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                 ód   •— t          ¦   «                              t          t          |¬¦  «         d S )N)ÚproviderÚbase_urlr   ©ÚsuperÚ__init__Ú	_PROVIDERÚ	_BASE_URL)Úselfr   Ú	__class__s     €úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/together.pyr   zTogetherTask.__init__(   s(   ø€ Ý‰Œ×Ò¥)µiÀdÐÑKÔKÐKÐKÐKó    Úmapped_modelÚapi_keyÚreturnc                 ó²   — | j         xxdk    rn	xdk    rn n  dS xdk    r dS xdk    r dS xdk    rn	xd	k    rn n d
S t          d| j         › d�¦  «        ‚)Nútext-to-imageúimage-to-imagez/v1/images/generationsútext-to-speechz/v1/audio/speechúfeature-extractionz/v1/embeddingsútext-to-videoúimage-to-videoz
/v2/videoszUnsupported task 'z' for Together API.)r   Ú
ValueError)r   r#   r$   s      r!   Ú_prepare_routezTogetherTask._prepare_route+   s£   € ØŒiØ3��’��Ð#3Ð#3Ò#3Ð#3Ð#3Ð#3Ð#3Ð#3Ð#3Ø/Ð/Ø!Ð!Ò!Ð!Ð!Ø)Ð)Ø%Ð%Ò%Ð%Ð%Ø'Ð'Ø �’��Ð#3Ð#3Ò#3Ð#3Ð#3Ð#3Ð#3Ð#3à#�|ÝÐL¨d¬iÐLÐLÐLÑMÔMÐMr"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r.   Ú__classcell__©r    s   @r!   r   r   %   s…   ø€ € € € € Ø,Ð,ðL˜Sð Lð Lð Lð Lð Lð LðN¨3ð N¸ð NÀð Nð Nð Nð Nð Nð 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                 ób   •— t          ¦   «                              t          t          ¬¦  «         d S ©N)r   r   r   ©r   r    s    €r!   r   z#TogetherTextGenerationTask.__init__:   ó&   ø€ Ý‰Œ×Ò¥)µiÐÑ@Ô@Ð@Ð@Ð@r"   NÚresponseÚrequest_paramsr%   c                 ó    — t          |¦  «        d         d         }|d         |                     d¦  «        |                     d¦  «        dœdœS )NÚchoicesr   ÚtextÚfinish_reasonÚseed)rA   rB   )Úgenerated_textÚdetails)r   Úget)r   r<   r=   Úoutputs       r!   Úget_responsez'TogetherTextGenerationTask.get_response=   sW   € Ý˜(Ñ#Ô# IÔ.¨qÔ1ˆà$ Vœnà!'§¢¨OÑ!<Ô!<ØŸ
š
 6Ñ*Ô*ðð ð
ð 
ð 	
r"   ©N)
r/   r0   r1   r   ÚbytesÚdictr   r   rG   r4   r5   s   @r!   r7   r7   9   sw   ø€ € € € € ðAð Að Að Að Að
ð 
 U¨T¡\ð 
ÐCTÐW[ÑC[ð 
Ðgjð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r7   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                 ób   •— t          ¦   «                              t          t          ¬¦  «         d S r9   r   r:   s    €r!   r   z#TogetherConversationalTask.__init__I   r;   r"   ÚinputsÚ
parametersÚprovider_mapping_infor%   Nc                 óh  •— t          ¦   «                              |||¦  «        }|€d S |                     d¦  «        }t          |t          ¦  «        r_|                     d¦  «        dk    rFt          |                     d¦  «        t          ¦  «        rd|d         v rd|d         d         dœ|d<   |S )NÚresponse_formatÚtypeÚjson_schemaÚschema)rS   rU   )r   Ú_prepare_payload_as_dictrE   Ú
isinstancerJ   )r   rN   rO   rP   ÚpayloadrR   r    s         €r!   rV   z3TogetherConversationalTask._prepare_payload_as_dictL   sÅ   ø€ õ ‘'”'×2Ò2°6¸:ÐG\Ñ]Ô]ˆØˆ?Ø�4ð "Ÿ+š+Ð&7Ñ8Ô8ˆå�­Ñ-Ô-ð		à×#Ò# FÑ+Ô+¨}Ò<Ð<Ý˜?×.Ò.¨}Ñ=Ô=½tÑDÔDð =à˜O¨MÔ:Ð:Ð:ð &Ø)¨-Ô8¸ÔBð*ð *ˆGÐ%Ñ&ð ˆr"   ©	r/   r0   r1   r   r   rJ   r   rV   r4   r5   s   @r!   rL   rL   H   s   ø€ € € € € ðAð Að Að Að AðØðØ'+ðØD\ðà	�‰ðð ð ð ð ð ð ð ð ð r"   rL   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                 óJ   •— t          ¦   «                              d¦  «         d S )Nr'   ©r   r   r:   s    €r!   r   z TogetherTextToImageTask.__init__c   ó!   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)Ð)Ð)r"   rN   rO   rP   r%   Nc                 ó|   — |j         }t          |¦  «        }d|v r|                     d¦  «        |d<   |ddœ|¥d|i¥S )NÚnum_inference_stepsÚstepsÚbase64)ÚpromptrR   Úmodel)Úprovider_idr   Úpop)r   rN   rO   rP   r#   s        r!   rV   z0TogetherTextToImageTask._prepare_payload_as_dictf   sY   € ð -Ô8ˆÝ  Ñ,Ô,ˆ
Ø  JÐ.Ð.Ø",§.¢.Ð1FÑ"GÔ"GˆJ�wÑà °XÐcÐcÀÐcÈWÐVbÐcÐcÐcr"   r<   r=   c                 ól   — t          |¦  «        }t          j        |d         d         d         ¦  «        S ©NÚdatar   Úb64_json©r   rb   Ú	b64decode©r   r<   r=   Úresponse_dicts       r!   rG   z$TogetherTextToImageTask.get_responsep   ó/   € Ý  Ñ*Ô*ˆÝÔ ¨fÔ 5°aÔ 8¸Ô DÑEÔEÐEr"   rH   ©r/   r0   r1   r   r   rJ   r   rV   rI   r   rG   r4   r5   s   @r!   r[   r[   b   s¾   ø€ € € € € ð*ð *ð *ð *ð *ðdØðdØ'+ðdØD\ðdà	�‰ðdð dð dð dðFð F U¨T¡\ð FÐCTÐW[ÑC[ð FÐgjð Fð Fð Fð Fð Fð Fð Fð Fr"   r[   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 )ÚTogetherImageToImageTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nr(   r]   r:   s    €r!   r   z!TogetherImageToImageTask.__init__v   ó"   ø€ Ý‰Œ×ÒÐ)Ñ*Ô*Ð*Ð*Ð*r"   rN   rO   rP   r%   Nc                 ó"  — |j         }t          |d¬¦  «        }t          |¦  «        }|                     dd¦  «        }d|v r|                     d¦  «        |d<   |                     ¦   «         }d|v od|v }|rd	|ind
|gi}	d|i|	¥ddi¥|¥d|i¥S )Nz
image/jpeg©Údefault_mime_typerc   Ú r`   ra   Úkontextzflux.1Ú	image_urlÚreference_imagesrR   rb   rd   )re   r   r   rf   Úlower)
r   rN   rO   rP   r#   rz   rc   ÚloweredÚuse_image_urlÚimage_fields
             r!   rV   z1TogetherImageToImageTask._prepare_payload_as_dicty   sê   € ð -Ô8ˆÝ˜F°lÐCÑCÔCˆ	õ
 ! Ñ,Ô,ˆ
Ø—’ ¨"Ñ-Ô-ˆØ  JÐ.Ð.Ø",§.¢.Ð1FÑ"GÔ"GˆJ�wÑð ×$Ò$Ñ&Ô&ˆØ! WÐ,ÐD°¸WÐ1DˆØBOÐ&v {°IÐ&>Ð&>ÐVhÐktÐjuÐUvˆà�fð
àð
ð ˜xð
ð 
ð ð	
ð
 �\ð
ð 
ð 	
r"   r<   r=   c                 ól   — t          |¦  «        }t          j        |d         d         d         ¦  «        S rh   rk   rm   s       r!   rG   z%TogetherImageToImageTask.get_response˜   ro   r"   rH   rp   r5   s   @r!   rr   rr   u   s¶   ø€ € € € € ð+ð +ð +ð +ð +ð
Øð
Ø'+ð
ØD\ð
à	�‰ð
ð 
ð 
ð 
ð>Fð F U¨T¡\ð FÐCTÐW[ÑC[ð FÐgjð Fð Fð Fð Fð Fð Fð Fð Fr"   rr   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 )ÚTogetherFeatureExtractionTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nr*   r]   r:   s    €r!   r   z&TogetherFeatureExtractionTask.__init__ž   s"   ø€ Ý‰Œ×ÒÐ-Ñ.Ô.Ð.Ð.Ð.r"   rN   rO   rP   r%   Nc                 ó4   — ||j         dœt          |¦  «        ¥S ©N)Úinputrd   ©re   r   ©r   rN   rO   rP   s       r!   rV   z6TogetherFeatureExtractionTask._prepare_payload_as_dict¡   s.   € ð Ø*Ô6ð
ð 
õ ˜*Ñ%Ô%ð
ð 	
r"   r<   r=   c                 ó@   — d„ t          |¦  «        d         D ¦   «         S )Nc                 ó   — g | ]
}|d          ‘ŒS )Ú	embedding© )Ú.0Úitems     r!   ú
<listcomp>z>TogetherFeatureExtractionTask.get_response.<locals>.<listcomp>«   s   € ÐIÐIÐI d��[Ô!ÐIÐIÐIr"   ri   )r   ©r   r<   r=   s      r!   rG   z*TogetherFeatureExtractionTask.get_responseª   s#   € ØIÐI­h°xÑ.@Ô.@ÀÔ.HÐIÑIÔIÐIr"   rH   rp   r5   s   @r!   r‚   r‚   �   s¶   ø€ € € € € ð/ð /ð /ð /ð /ð
Øð
Ø'+ð
ØD\ð
à	�‰ð
ð 
ð 
ð 
ðJð J U¨T¡\ð JÐCTÐW[ÑC[ð JÐgjð Jð Jð Jð Jð Jð Jð Jð Jr"   r‚   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 )ÚTogetherTextToSpeechTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nr)   r]   r:   s    €r!   r   z!TogetherTextToSpeechTask.__init__¯   rt   r"   rN   rO   rP   r%   Nc                 ó4   — ||j         dœt          |¦  «        ¥S r…   r‡   rˆ   s       r!   rV   z1TogetherTextToSpeechTask._prepare_payload_as_dict²   s.   € ð Ø*Ô6ð
ð 
õ ˜*Ñ%Ô%ð
ð 	
r"   r<   r=   c                 óz   — t          |t          ¦  «        r|S t          dt          |¦  «        j        › d�¦  «        ‚)Nz1Expected raw audio bytes for text-to-speech, got ú.)rW   rI   r-   rS   r/   r�   s      r!   rG   z%TogetherTextToSpeechTask.get_response¾   s=   € Ý�h¥Ñ&Ô&ð 	ØˆOÝÐgÍTÐRZÉ^Ì^ÔMdÐgÐgÐgÑhÔhÐhr"   rH   rp   r5   s   @r!   r’   r’   ®   s¶   ø€ € € € € ð+ð +ð +ð +ð +ð

Øð

Ø'+ð

ØD\ð

à	�‰ð

ð 

ð 

ð 

ðið i U¨T¡\ð iÐCTÐW[ÑC[ð iÐgjð ið ið ið ið ið ið ið ir"   r’   rO   r%   c                 óÊ   — t          | ¦  «        } d| v r|                      d¦  «        | d<   d| v r3|                      d¦  «        }d|v r|d         | d<   d|v r|d         | d<   | S )zNMap HF inference-client conventions onto Together's video API parameter names.r`   ra   Útarget_sizeÚwidthÚheight)r   rf   )rO   r˜   s     r!   Ú_normalize_video_parametersr›   Ä   s‡   € å˜ZÑ(Ô(€JØ 
Ð*Ð*Ø(ŸnšnÐ-BÑCÔCˆ
�7ÑØ˜
Ð"Ð"Ø —n’n ]Ñ3Ô3ˆØ�kÐ!Ð!Ø"-¨gÔ"6ˆJ�wÑØ�{Ð"Ð"Ø#.¨xÔ#8ˆJ�xÑ ØÐr"   c                   ó4   — e Zd ZdZddeez  dedz  defd„ZdS )ÚTogetherVideoTaskz>Base class for Together's asynchronous video generation tasks.Nr<   r=   r%   c                 ó$  — |€t          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|st          d¦  «        ‚|j        › d|› �}t                               d¦  «         |                     d¦  «        }t          t          ¦  «        D ]•}|�|t          vr nŸt          j
        t          ¦  «         t          ¦   «                              ||j        ¬¦  «        }t          |¦  «         |                     ¦   «         }|                     d¦  «        }|�|t          vr nŒ–t          dt          › d	�¦  «        ‚|d
k    r>|                     d¦  «        pi }	t!          d|	                     d¦  «        pd› �¦  «        ‚|dk    rt!          d|›�¦  «        ‚|                     d¦  «        pi                      d¦  «        }
|
st          d¦  «        ‚t          ¦   «                              |
¦  «        }t          |¦  «         |j        S )NzEA `RequestParameters` object is required to poll Together video jobs.Úidz6No job ID found in Together video generation response.ú/z+Generating video, polling for completion...Ústatus)ÚheadersuI   Timed out while waiting for Together video generation â€” aborting after z status pollsÚfailedÚerrorz"Together video generation failed: ÚmessagezUnknown errorÚ	completedz&Unexpected Together video job status: ÚoutputsÚ	video_urlz3No video URL found in completed Together video job.)r-   r   rE   ÚurlÚloggerÚinfoÚrangeÚ_VIDEO_MAX_POLL_ATTEMPTSÚ_VIDEO_PENDING_STATUSESÚtimeÚsleepÚ_VIDEO_POLLING_INTERVALr   r¢   r   ÚjsonÚRuntimeErrorÚcontent)r   r<   r=   ÚjobÚjob_idÚ
status_urlr¡   Ú_Ústatus_responser¤   r¨   Úvideo_responses               r!   rG   zTogetherVideoTask.get_responseÕ   s3  € ØÐ!ÝÐdÑeÔeÐeå�xÑ Ô ˆØ—’˜‘”ˆØð 	WÝÐUÑVÔVÐVð 'Ô*Ð5Ð5¨VÐ5Ð5ˆ
å�ŠÐAÑBÔBÐBð —’˜Ñ"Ô"ˆÝÕ/Ñ0Ô0ð 	ð 	ˆAØÐ! fÕ4KÐ&KÐ&KØ�ÝŒJÕ.Ñ/Ô/Ð/Ý)™mœm×/Ò/°
ÀNÔDZÐ/Ñ[Ô[ˆOÝ Ñ0Ô0Ð0Ø!×&Ò&Ñ(Ô(ˆCØ—W’W˜XÑ&Ô&ˆFØÐ! fÕ4KÐ&KÐ&KØ�øåðNÝ&>ðNð Nð Nñô ð ð
 �XÒÐØ—G’G˜GÑ$Ô$Ð*¨ˆEÝÐmÀEÇIÂIÈiÑDXÔDXÐDkÐ\kÐmÐmÑnÔnÐnØ�[Ò Ð ÝÐRÈÐRÐRÑSÔSÐSà—W’W˜YÑ'Ô'Ð-¨2×2Ò2°;Ñ?Ô?ˆ	Øð 	TÝÐRÑSÔSÐSå$™œ×*Ò*¨9Ñ5Ô5ˆÝ˜NÑ+Ô+Ð+ØÔ%Ð%r"   rH   )	r/   r0   r1   r2   rI   rJ   r   r   rG   rŒ   r"   r!   r�   r�   Ò   sT   € € € € € ØHÐHð-&ð -& 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d„Zˆ xZS )ÚTogetherTextToVideoTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nr+   r]   r:   s    €r!   r   z TogetherTextToVideoTask.__init__  r^   r"   rN   rO   rP   r%   Nc                 ó4   — ||j         dœt          |¦  «        ¥S )N)rc   rd   )re   r›   rˆ   s       r!   rV   z0TogetherTextToVideoTask._prepare_payload_as_dict	  s.   € ð Ø*Ô6ð
ð 
õ *¨*Ñ5Ô5ð
ð 	
r"   rY   r5   s   @r!   r¼   r¼     sp   ø€ € € € € ð*ð *ð *ð *ð *ð
Øð
Ø'+ð
ØD\ð
à	�‰ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r¼   c            	       ó<   ‡ — e Zd Zˆ fd„Zdededededz  fd„Zˆ xZS )ÚTogetherImageToVideoTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nr,   r]   r:   s    €r!   r   z!TogetherImageToVideoTask.__init__  rt   r"   rN   rO   rP   r%   Nc                 óZ   — |j         t          |d¬¦  «        ddœgdœt          |¦  «        ¥S )Nz	image/pngrv   Úfirst)Úinput_imageÚframe)rd   Úframe_images)re   r   r›   rˆ   s       r!   rV   z1TogetherImageToVideoTask._prepare_payload_as_dict  sG   € ð +Ô6Ý-4°VÈ{Ð-[Ñ-[Ô-[ÐfmÐnÐnÐoð
ð 
õ *¨*Ñ5Ô5ð
ð 	
r"   rY   r5   s   @r!   rÀ   rÀ     sp   ø€ € € € € ð+ð +ð +ð +ð +ð
Øð
Ø'+ð
ØD\ð
à	�‰ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   rÀ   ))rb   r¯   Úabcr   Útypingr   Úhuggingface_hub.hf_apir   Ú!huggingface_hub.inference._commonr   r   r   Ú,huggingface_hub.inference._providers._commonr	   r
   r   r   Úhuggingface_hub.utilsr   r   r   Ú
get_loggerr/   rª   r   r   r±   r­   r®   r   r7   rL   r[   rr   r‚   r’   rJ   r›   r�   r¼   rÀ   rŒ   r"   r!   ú<module>rÎ      s  ðØ €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð LÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kð 
ˆÔ	˜HÑ	%Ô	%€à€	Ø&€	ð Ð ð Ð ð $ ]Ð3Ð ðNð Nð Nð Nð NÐ% sñ Nô Nð Nð(
ð 
ð 
ð 
ð 
Ð!7ñ 
ô 
ð 
ðð ð ð ð Ð!7ñ ô ð ð4Fð Fð Fð Fð F˜lñ Fô Fð Fð&%Fð %Fð %Fð %Fð %F˜|ñ %Fô %Fð %FðPJð Jð Jð Jð J Lñ Jô Jð Jð"ið ið ið ið i˜|ñ iô ið ið,¨Dð °Tð ð ð ð ð0&ð 0&ð 0&ð 0&ð 0&˜ cñ 0&ô 0&ð 0&ðf
ð 
ð 
ð 
ð 
Ð/ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
Ð0ñ 
ô 
ð 
ð 
ð 
r"   