§
    }Štj‹  ã                   óâ   — 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dS )é    )Ú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                 ód   •— t          ¦   «                              t          t          |¬¦  «         d S )N)ÚproviderÚbase_urlr   )ÚsuperÚ__init__Ú	_PROVIDERÚ	_BASE_URL)Úselfr   Ú	__class__s     €úl/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/replicate.pyr   zReplicateTask.__init__   s(   ø€ Ý‰Œ×Ò¥)µiÀdÐÑKÔKÐKÐKÐKó    ÚheadersÚapi_keyÚreturnc                 óV   •— 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dS d|› d�S )Nú:z/v1/predictionsz/v1/models/z/predictions© )r   r!   r   s      r   Ú_prepare_routezReplicateTask._prepare_route   s$   € Ø�,ÐÐØ$Ð$Ø7˜\Ð7Ð7Ð7Ð7r   ÚinputsÚ
parametersÚprovider_mapping_infoNc                 óˆ   — |j         }dd|it          |¦  «        ¥i}d|v r!|                     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   s\   € ð -Ô8ˆØ#*¨X°vÐ,YÅÈZÑAXÔAXÐ,YÐ"ZˆØ�,ÐÐØ"×(Ò(¨¨aÑ0Ô0°Ô3ˆGØ!(ˆG�IÑØˆr   ÚresponseÚrequest_paramsc                 óD  — t          |¦  «        }|                     d¦  «        €&t          d|                     d¦  «        › d�¦  «        ‚t          |d         t          ¦  «        r|d         n|d         d         }t          ¦   «                              |¦  «        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Ô_yð [ð [ð [ñô ð õ
 (2°-ÀÔ2IÍ3Ñ'OÔ'OÐoˆM˜(Ô#Ð#ÐUbÐckÔUlÐmnÔUoð 	õ ‰}Œ}× Ò  Ñ,Ô,Ô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ð Lð Lð Lð Lð Lð¨ð °sð ¸tÀCÈÀH¼~ð ð ð ð ð ð ð
8¨3ð 8¸ð 8Àð 8ð 8ð 8ð 8ð
ØðØ'+ðØD\ðà	�‰ðð ð ð ð
5ð 
5 U¨T¡\ð 
5ÐCTÐW[ÑC[ð 
5Ðgjð 
5ð 
5ð 
5ð 
5ð 
5ð 
5ð 
5ð 
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                 óJ   •— t          ¦   «                              d¦  «         d S )Nztext-to-image©r   r   ©r   r   s    €r   r   z!ReplicateTextToImageTask.__init__3   s!   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)Ð)Ð)r   r&   r'   r(   r   Nc                 ó‚   •— 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   sJ   ø€ õ ™œ×8Ò8¸ÀÐMbÑcÔcˆØ Ô5ÐAØ/lÐI^ÔIjÐ/lÐ/lˆG�GÔ˜^Ñ,Øˆr   ©	r@   rA   rB   r   r   rC   r   r1   rE   rF   s   @r   rH   rH   2   sz   ø€ € € € € ð*ð *ð *ð *ð *ðØðØ'+ðØ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                 óJ   •— t          ¦   «                              d¦  «         d S )Nztext-to-speechrJ   rK   s    €r   r   z"ReplicateTextToSpeechTask.__init__@   ó"   ø€ Ý‰Œ×ÒÐ)Ñ*Ô*Ð*Ð*Ð*r   r&   r'   r(   r   Nc                 ó–   •— t          ¦   «                              |||¦  «        }|d                              d¦  «        |d         d<   |S )Nr*   r+   Útext)r   r1   ÚpoprP   s        €r   r1   z2ReplicateTextToSpeechTask._prepare_payload_as_dictC   sH   ø€ õ ™œ×8Ò8¸ÀÐMbÑcÔcˆØ#*¨7Ô#3×#7Ò#7¸Ñ#AÔ#Aˆ�Ô˜Ñ Øˆr   rQ   rF   s   @r   rS   rS   ?   sz   ø€ € € € € ð+ð +ð +ð +ð +ðØðØ'+ðØ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                 óJ   •— t          ¦   «                              d¦  «         d S )Nzautomatic-speech-recognitionrJ   rK   s    €r   r   z0ReplicateAutomaticSpeechRecognitionTask.__init__L   s"   ø€ Ý‰Œ×ÒÐ7Ñ8Ô8Ð8Ð8Ð8r   r&   r'   r(   c                 óª   — |j         }t          |d¬¦  «        }di d|i¥t          |¦  «        ¥i}d|v r|                     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   s}   € ð -Ô8ˆÝ˜F°kÐBÑBÔBˆ	ð ð Ø˜IÐ&ðå˜jÑ)Ô)ðð#
ˆð �,ÐÐØ!-×!3Ò!3°C¸Ñ!;Ô!;¸AÔ!>ˆG�IÑàˆr   r2   r3   c                 óî  — t          |¦  «        }|                     d¦  «        }t          |t          ¦  «        rd|iS t          |t          ¦  «        r:|r8|d         }t          |t          ¦  «        rd|iS t          |t
          ¦  «        r|}d }t          |t
          ¦  «        r¾|                     d¦  «        }t          |t          ¦  «        r|}|                     d¦  «        }t          |t          ¦  «        r|}|                     d¦  «        }	t          |	t          ¦  «        r<t          ¦   «                              |	¦  «        }
|
                     ¦   «          |
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   so  € Ý  Ñ*Ô*ˆØ×"Ò" 8Ñ,Ô,ˆå�f�cÑ"Ô"ð 	$Ø˜FÐ#Ð#å�f�dÑ#Ô#ð 	$¨ð 	$Ø œˆJÝ˜*¥cÑ*Ô*ð ,Ø 
Ð+Ð+Ý˜*¥dÑ+Ô+ð $Ø#�àˆÝ�f�dÑ#Ô#ð 	*Ø"ŸJšJ Ñ7Ô7ˆMÝ˜-­Ñ-Ô-ð %Ø$�à Ÿ*š* ]Ñ3Ô3ˆKÝ˜+¥sÑ+Ô+ð #Ø"�à—z’z *Ñ-Ô-ˆHÝ˜(¥CÑ(Ô(ð *Ý +¡¤× 1Ò 1°(Ñ ;Ô ;�Ø×.Ò.Ñ0Ô0Ð0Ø$Ô)�àÐØ˜D�>Ð!åÐfÑgÔgÐgr   )r   Nr?   )r@   rA   rB   r   r   rC   r   r1   rD   r   r>   rE   rF   s   @r   rZ   rZ   K   sÁ   ø€ € € € € ð9ð 9ð 9ð 9ð 9ð 9ðàðð ðð  8ð	ð
 
�‰ðð ð ð ð*!hð !h U¨T¡\ð !hÐCTÐW[ÑC[ð !hÐgjð !hð !hð !hð !hð !hð !hð !hð !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                 óJ   •— t          ¦   «                              d¦  «         d S )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!|                     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ÑCÔCˆ	ð Ø"Ø$˜+Ø(Ø!* ð	ð õ
 ˜jÑ)Ô)ðð#
ˆð -Ô8ˆØ�,ÐÐØ"×(Ò(¨¨aÑ0Ô0°Ô3ˆGØ!(ˆG�IÑØˆr   rQ   rF   s   @r   rk   rk   ˆ   sp   ø€ € € € € ð+ð +ð +ð +ð +ðØðØ'+ðØ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Ð RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ -Ð -Ð -Ð -Ð -Ð -ð €	Ø'€	ð"5ð "5ð "5ð "5ð "5Ð&ñ "5ô "5ð "5ðJ
ð 
ð 
ð 
ð 
˜}ñ 
ô 
ð 
ð	ð 	ð 	ð 	ð 	 ñ 	ô 	ð 	ð:hð :hð :hð :hð :h¨mñ :hô :hð :hðzð ð ð ð  ñ ô ð ð ð r   