
    Y j                         S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	J
r
  S SKJr  SrSr " S S	\	5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rg)    )Any)InferenceProviderMapping)RequestParameters_as_dict_as_url)TaskProviderHelperfilter_none)get_session	replicatezhttps://api.replicate.comc            	          ^  \ rS rSrS\4U 4S jjrS\S\S\\\4   4U 4S jjrS\S\S\4S	 jr	S
\S\S\
S\S-  4S jrSS\\-  S\S-  S\4S jjrSrU =r$ )ReplicateTask   taskc                 4   > [         TU ]  [        [        US9  g )N)providerbase_urlr   )super__init__	_PROVIDER	_BASE_URL)selfr   	__class__s     /root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/huggingface_hub/inference/_providers/replicate.pyr   ReplicateTask.__init__   s    )idK    headersapi_keyreturnc                 0   > [         TU ]  X5      nSUS'   U$ )NwaitPrefer)r   _prepare_headers)r   r   r   r   s      r   r"   ReplicateTask._prepare_headers   s!    '*7<"r   mapped_modelc                     SU;   a  gSU S3$ )N:z/v1/predictionsz/v1/models/z/predictions )r   r$   r   s      r   _prepare_routeReplicateTask._prepare_route   s    ,$\N,77r   inputs
parametersprovider_mapping_infoNc                 ~    UR                   nSSU0[        U5      E0nSU;   a  UR                  SS5      S   nXeS'   U$ )Ninputpromptr&      version)provider_idr	   split)r   r*   r+   r,   r$   payloadr1   s          r   _prepare_payload_as_dict&ReplicateTask._prepare_payload_as_dict   sT     -88#*Xv,YZAX,Y"Z,"((a03G!(Ir   responserequest_paramsc                    [        U5      nUR                  S5      c  [        SUR                  S5       S35      e[        US   [        5      (       a  US   OUS   S   n[        5       R                  U5      R                  $ )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   r7   r8   response_dict
output_urls        r   get_responseReplicateTask.get_response%   s     *X&.^_l_p_pqx_y^zZ[ 
 (2-2I3'O'OM(#UbckUlmnUo 	 }  ,444r   r'   N)__name__
__module____qualname____firstlineno__r?   r   dictr   r"   r(   r   r5   bytesr   rC   __static_attributes____classcell__r   s   @r   r   r      s    LS L s tCH~ 
83 8 8 8
'+D\	
5UT\ 
5CTW[C[ 
5gj 
5 
5r   r   c            	       N   ^  \ rS rSrU 4S jrS\S\S\S\S-  4U 4S jjrS	r	U =r
$ )
ReplicateTextToImageTask2   c                 $   > [         TU ]  S5        g )Nztext-to-imager   r   r   r   s    r   r   !ReplicateTextToImageTask.__init__3   s    )r   r*   r+   r,   r   Nc                 l   > [         TU ]  XU5      nUR                  b  SUR                   3US   S'   U$ )Nzhttps://huggingface.co/r.   lora_weights)r   r5   adapter_weights_pathhf_model_idr   r*   r+   r,   r4   r   s        r   r5   1ReplicateTextToImageTask._prepare_payload_as_dict6   sF     8Mbc 55A1HI^IjIjHk/lGG^,r   r'   rF   rG   rH   rI   r   r   rJ   r   r5   rL   rM   rN   s   @r   rP   rP   2   s6    *'+D\	 r   rP   c            	       N   ^  \ rS rSrU 4S jrS\S\S\S\S-  4U 4S jjrS	r	U =r
$ )
ReplicateTextToSpeechTask?   c                 $   > [         TU ]  S5        g )Nztext-to-speechrS   rT   s    r   r   "ReplicateTextToSpeechTask.__init__@       )*r   r*   r+   r,   r   Nc                 \   > [         TU ]  XU5      nUS   R                  S5      US   S'   U$ )Nr.   r/   text)r   r5   poprZ   s        r   r5   2ReplicateTextToSpeechTask._prepare_payload_as_dictC   s;     8Mbc#*7#3#7#7#A r   r'   r\   rN   s   @r   r^   r^   ?   s6    +'+D\	 r   r^   c            	       r   ^  \ rS rSrSU 4S jjrS\S\S\S\S-  4S jrSS	\	\-  S
\
S-  S\4S jjrSrU =r$ )'ReplicateAutomaticSpeechRecognitionTaskK   r   Nc                 $   > [         TU ]  S5        g )Nzautomatic-speech-recognitionrS   rT   s    r   r   0ReplicateAutomaticSpeechRecognitionTask.__init__L   s    78r   r*   r+   r,   c                     UR                   n[        USS9nS0 SU0E[        U5      E0nSU;   a  UR                  SS5      S   US'   U$ )Nz	audio/wavdefault_mime_typer.   audior&   r0   r1   )r2   r   r	   r3   )r   r*   r+   r,   r$   	audio_urlr4   s          r   r5   @ReplicateAutomaticSpeechRecognitionTask._prepare_payload_as_dictO   sq     -88FkB	  I&j)#
 ,!-!3!3C!;A!>GIr   r7   r8   c                    [        U5      nUR                  S5      n[        U[        5      (       a  SU0$ [        U[        5      (       a<  U(       a5  US   n[        U[        5      (       a  SU0$ [        U[
        5      (       a  UnS n[        U[
        5      (       a  UR                  S5      n[        U[        5      (       a  UnUR                  S5      n[        U[        5      (       a  UnUR                  S5      n	[        U	[        5      (       a5  [        5       R                  U	5      n
U
R                  5         U
R                  nUb  SU0$ [        S5      e)Nr:   rd   r   transcriptiontranslationtxt_filezKReceived malformed response from Replicate automatic-speech-recognition API)
r   r<   r>   r?   listrJ   r
   raise_for_statusrd   
ValueError)r   r7   r8   rA   r:   
first_itemrd   rs   rt   ru   text_responses              r   rC   4ReplicateAutomaticSpeechRecognitionTask.get_responsed   s(    *""8,fc""F##fd##J*c**
++*d++#fd##"JJ7M---$ **]3K+s++"zz*-H(C(( + 1 1( ;..0$))D>!fggr   r'   )r   NrE   )rF   rG   rH   rI   r   r   rJ   r   r5   rK   r   rC   rL   rM   rN   s   @r   rh   rh   K   sg    9   8	
 
*!hUT\ !hCTW[C[ !hgj !h !hr   rh   c            	       H   ^  \ rS rSrU 4S jrS\S\S\S\S-  4S jrS	r	U =r
$ )
ReplicateImageToImageTask   c                 $   > [         TU ]  S5        g )Nzimage-to-imagerS   rT   s    r   r   "ReplicateImageToImageTask.__init__   rb   r   r*   r+   r,   r   Nc                     [        USS9nSUU/UU/S.[        U5      E0nUR                  nSU;   a  UR                  SS5      S   nXuS'   U$ )Nz
image/jpegrm   r.   )imageimagesinput_imageinput_imagesr&   r0   r1   )r   r	   r2   r3   )r   r*   r+   r,   	image_urlr4   r$   r1   s           r   r5   2ReplicateImageToImageTask._prepare_payload_as_dict   sy     FlC	 "$+(!*	
 j)#
 -88,"((a03G!(Ir   r'   r\   rN   s   @r   r}   r}      s6    +'+D\	 r   r}   N)typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   r   ,huggingface_hub.inference._providers._commonr   r	   huggingface_hub.utilsr
   r   r   r   rP   r^   rh   r}   r'   r   r   <module>r      sd     ; R R X - 	'	"5& "5J
} 
	 	:hm :hz r   