Ë
    Z²j‹  ã                   óÂ   — 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
 d dlmZ dZd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y)é    )ÚAny)ÚInferenceProviderMapping)ÚRequestParametersÚ_as_dictÚ_as_url)ÚTaskProviderHelperÚfilter_none)Úget_sessionÚ	replicatezhttps://api.replicate.comc            	       óš   ‡ — e Zd Zdefˆ fd„Zdededeeef   fˆ fd„Zdedede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 )ÚReplicateTaskÚtaskc                 ó:   •— t         ‰| �  t        t        |¬«       y )N)ÚproviderÚbase_urlr   )ÚsuperÚ__init__Ú	_PROVIDERÚ	_BASE_URL)Úselfr   Ú	__class__s     €úm/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/replicate.pyr   zReplicateTask.__init__   s   ø€ Ü‰Ñ¤)´iÀdÐÕKó    ÚheadersÚapi_keyÚreturnc                 ó2   •— t         ‰| �  ||«      }d|d<   |S )NÚwaitÚPrefer)r   Ú_prepare_headers)r   r   r   r   s      €r   r    zReplicateTask._prepare_headers   s#   ø€ Ü‘'Ñ*¨7°GÓ<ˆØ"ˆ�ÑØˆr   Úmapped_modelc                 ó   — d|v ryd|› d�S )Nú:z/v1/predictionsz/v1/models/z/predictions© )r   r!   r   s      r   Ú_prepare_routezReplicateTask._prepare_route   s   € Ø�,ÑØ$Ø˜\˜N¨,Ð7Ð7r   ÚinputsÚ
parametersÚprovider_mapping_infoNc                 ó|   — |j                   }dd|it        |«      ¥i}d|v r|j                  dd«      d   }||d<   |S )NÚinputÚpromptr#   é   Úversion)Úprovider_idr	   Úsplit)r   r&   r'   r(   r!   Úpayloadr-   s          r   Ú_prepare_payload_as_dictz&ReplicateTask._prepare_payload_as_dict   sV   € ð -×8Ñ8ˆØ#*¨X°vÐ,YÄÈZÓAXÐ,YÐ"ZˆØ�,ÑØ"×(Ñ(¨¨aÓ0°Ñ3ˆGØ!(ˆG�IÑØˆr   ÚresponseÚrequest_paramsc                 óü   — t        |«      }|j                  d«      €t        d|j                  d«      › d�«      ‚t        |d   t        «      r|d   n|d   d   }t        «       j                  |«      j                  S )NÚoutputzLInference request timed out after 60 seconds. No output generated for model ÚmodelzHThe model might be in cold state or starting up. Please try again later.r   )r   ÚgetÚTimeoutErrorÚ
isinstanceÚstrr
   Úcontent)r   r2   r3   Úresponse_dictÚ
output_urls        r   Úget_responsezReplicateTask.get_response%   s�   € Ü  Ó*ˆØ×Ñ˜XÓ&Ð.ÜØ^Ð_l×_pÑ_pÐqxÓ_yÐ^zØZð[óð ô
 (2°-ÀÑ2IÌ3Ô'OˆM˜(Ò#ÐUbÐckÑUlÐmnÑUoð 	ô ‹}× Ñ  Ó,×4Ñ4Ð4r   ©N)Ú__name__Ú
__module__Ú__qualname__r:   r   Údictr   r    r%   r   r1   Úbytesr   r>   Ú__classcell__©r   s   @r   r   r      sœ   ø„ ðL˜Sõ Lð¨ð °sð ¸tÀCÈÀH¹~õ ð
8¨3ð 8¸ð 8Àó 8ð
ØðØ'+ðØD\ðà	�‰óñ
5 U¨T¡\ð 
5ÐCTÐW[ÑC[ð 
5Ðgj÷ 
5r   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 )ÚReplicateTextToImageTaskc                 ó$   •— t         ‰| �  d«       y )Nztext-to-image©r   r   ©r   r   s    €r   r   z!ReplicateTextToImageTask.__init__3   s   ø€ Ü‰Ñ˜Õ)r   r&   r'   r(   r   Nc                 ól   •— t         ‰| �  |||«      }|j                  �d|j                  › �|d   d<   |S )Nzhttps://huggingface.co/r*   Úlora_weights)r   r1   Úadapter_weights_pathÚhf_model_id©r   r&   r'   r(   r0   r   s        €r   r1   z1ReplicateTextToImageTask._prepare_payload_as_dict6   sH   ø€ ô ™Ñ8¸ÀÐMbÓcˆØ ×5Ñ5ÐAØ1HÐI^×IjÑIjÐHkÐ/lˆG�GÑ˜^Ñ,Øˆr   ©	r@   rA   rB   r   r   rC   r   r1   rE   rF   s   @r   rH   rH   2   s6   ø„ ô*ðØðØ'+ðØD\ðà	�‰÷ñ r   rH   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 )ÚReplicateTextToSpeechTaskc                 ó$   •— t         ‰| �  d«       y )Nztext-to-speechrJ   rK   s    €r   r   z"ReplicateTextToSpeechTask.__init__@   ó   ø€ Ü‰ÑÐ)Õ*r   r&   r'   r(   r   Nc                 ó^   •— t         ‰| �  |||«      }|d   j                  d«      |d   d<   |S )Nr*   r+   Útext)r   r1   ÚpoprP   s        €r   r1   z2ReplicateTextToSpeechTask._prepare_payload_as_dictC   s=   ø€ ô ™Ñ8¸ÀÐMbÓcˆØ#*¨7Ñ#3×#7Ñ#7¸Ó#Aˆ�Ñ˜Ñ Øˆr   rQ   rF   s   @r   rS   rS   ?   s6   ø„ ô+ðØðØ'+ðØD\ðà	�‰÷ñ r   rS   c            	       ó`   ‡ — e Zd Zdˆ 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 )Ú'ReplicateAutomaticSpeechRecognitionTaskr   Nc                 ó$   •— t         ‰| �  d«       y )Nzautomatic-speech-recognitionrJ   rK   s    €r   r   z0ReplicateAutomaticSpeechRecognitionTask.__init__L   s   ø€ Ü‰ÑÐ7Õ8r   r&   r'   r(   c                 ó–   — |j                   }t        |d¬«      }di d|i¥t        |«      ¥i}d|v r|j                  dd«      d   |d<   |S )Nz	audio/wav©Údefault_mime_typer*   Úaudior#   r,   r-   )r.   r   r	   r/   )r   r&   r'   r(   r!   Ú	audio_urlr0   s          r   r1   z@ReplicateAutomaticSpeechRecognitionTask._prepare_payload_as_dictO   sq   € ð -×8Ñ8ˆÜ˜F°kÔBˆ	ð ð Ø˜IÐ&ðä˜jÓ)ðð#
ˆð �,ÑØ!-×!3Ñ!3°C¸Ó!;¸AÑ!>ˆG�IÑàˆr   r2   r3   c                 óZ  — t        |«      }|j                  d«      }t        |t        «      rd|iS t        |t        «      r-|r+|d   }t        |t        «      rd|iS t        |t
        «      r|}d }t        |t
        «      rœ|j                  d«      }t        |t        «      r|}|j                  d«      }t        |t        «      r|}|j                  d«      }	t        |	t        «      r5t        «       j                  |	«      }
|
j                  «        |
j                  }|�d|iS t        d«      ‚)Nr5   rW   r   ÚtranscriptionÚtranslationÚtxt_filezKReceived malformed response from Replicate automatic-speech-recognition API)
r   r7   r9   r:   ÚlistrC   r
   Úraise_for_statusrW   Ú
ValueError)r   r2   r3   r<   r5   Ú
first_itemrW   rb   rc   rd   Útext_responses              r   r>   z4ReplicateAutomaticSpeechRecognitionTask.get_responsed   s  € Ü  Ó*ˆØ×"Ñ" 8Ó,ˆä�fœcÔ"Ø˜FÐ#Ð#ä�fœdÔ#©Ø ™ˆJÜ˜*¤cÔ*Ø 
Ð+Ð+Ü˜*¤dÔ+Ø#�àˆÜ�fœdÔ#Ø"ŸJ™J Ó7ˆMÜ˜-¬Ô-Ø$�à Ÿ*™* ]Ó3ˆKÜ˜+¤sÔ+Ø"�à—z‘z *Ó-ˆHÜ˜(¤CÔ(Ü +£× 1Ñ 1°(Ó ;�Ø×.Ñ.Ô0Ø$×)Ñ)�àÐØ˜D�>Ð!äÐfÓgÐgr   )r   Nr?   )r@   rA   rB   r   r   rC   r   r1   rD   r   r>   rE   rF   s   @r   rZ   rZ   K   sa   ø„ õ9ðàðð ðð  8ð	ð
 
�‰óñ*!h U¨T¡\ð !hÐCTÐW[ÑC[ð !hÐgj÷ !hr   rZ   c            	       ó<   ‡ — e Zd Zˆ fd„Zdededededz  fd„Zˆ xZS )ÚReplicateImageToImageTaskc                 ó$   •— t         ‰| �  d«       y )Nzimage-to-imagerJ   rK   s    €r   r   z"ReplicateImageToImageTask.__init__‰   rU   r   r&   r'   r(   r   Nc                 ó    — t        |d¬«      }d||g||gdœt        |«      ¥i}|j                  }d|v r|j                  dd«      d   }||d<   |S )Nz
image/jpegr]   r*   )ÚimageÚimagesÚinput_imageÚinput_imagesr#   r,   r-   )r   r	   r.   r/   )r   r&   r'   r(   Ú	image_urlr0   r!   r-   s           r   r1   z2ReplicateImageToImageTask._prepare_payload_as_dictŒ   s{   € ô ˜F°lÔCˆ	ð Ø"Ø$˜+Ø(Ø!* ñ	ô
 ˜jÓ)ðð#
ˆð -×8Ñ8ˆØ�,ÑØ"×(Ñ(¨¨aÓ0°Ñ3ˆGØ!(ˆG�IÑØˆr   rQ   rF   s   @r   rk   rk   ˆ   s1   ø„ ô+ðØðØ'+ðØD\ðà	�‰÷r   rk   N)Útypingr   Úhuggingface_hub.hf_apir   Ú!huggingface_hub.inference._commonr   r   r   Ú,huggingface_hub.inference._providers._commonr   r	   Úhuggingface_hub.utilsr
   r   r   r   rH   rS   rZ   rk   r$   r   r   ú<module>rx      sd   ðÝ å ;ß RÑ Rß XÝ -ð €	Ø'€	ô"5Ð&ô "5ôJ
˜}ô 
ô	 ô 	ô:h¨mô :hôz õ r   