
    ;3h                         d dl Z d dlmZmZmZ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  G d de      Z G d d	e      Z G d
 de      Z G d de      Zy)    N)AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskBaseTextGenerationTaskTaskProviderHelperfilter_nonec                   D     e Zd Z fdZddeeef   dee   de	fdZ
 xZS )NebiusTextGenerationTaskc                 (    t         |   dd       y Nnebiushttps://api.studio.nebius.ai)providerbase_urlsuper__init__self	__class__s    k/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/nebius.pyr   z!NebiusTextGenerationTask.__init__       (5ST    responserequest_paramsreturnc                 v    t        |      d   d   }|d   |j                  d      |j                  d      ddS )Nchoicesr   textfinish_reasonseed)r%   r&   )generated_textdetails)r	   get)r   r   r    outputs       r   get_responsez%NebiusTextGenerationTask.get_response   sD    (#I.q1$Vn!'O!<

6*
 	
r   N)__name__
__module____qualname__r   r   bytesr   r   r   r   r+   __classcell__r   s   @r   r   r      s3    U
U5$;%7 
RcId 
ps 
r   r   c            	       @     e Zd Z fdZdedededee   f fdZ xZ	S )NebiusConversationalTaskc                 (    t         |   dd       y r   r   r   s    r   r   z!NebiusConversationalTask.__init__   r   r   inputs
parametersprovider_mapping_infor!   c                     t         |   |||      }|j                  d      }t        |t              rA|j                  d      dk(  r-|j                  d      }t        |t              rd|v r|d   |d<   |S )Nresponse_formattypejson_schemaschemaguided_json)r   _prepare_payload_as_dictr)   
isinstancedict)r   r6   r7   r8   payloadr:   json_schema_detailsr   s          r   r?   z1NebiusConversationalTask._prepare_payload_as_dict!   s}     '26:G\]$..):;ot,1D1DV1LP]1]"1"5"5m"D-t4EX9X)<X)F&r   )
r-   r.   r/   r   r   r   r   r   r?   r1   r2   s   @r   r4   r4      s7    U		'+	D\		$	 	r   r4   c            	       v     e Zd Z fdZdededefdZdededede	e   fd	Z
dd
eeef   de	e   defdZ xZS )NebiusTextToImageTaskc                 *    t         |   ddd       y )Nztext-to-imager   r   taskr   r   r   r   s    r   r   zNebiusTextToImageTask.__init__.   s    oKijr   mapped_modelapi_keyr!   c                      y)Nz/v1/images/generations r   rI   rJ   s      r   _prepare_routez$NebiusTextToImageTask._prepare_route1   s    'r   r6   r7   r8   c                     |j                   }t        |      }d|v r|j                  d       |j                  d      dvrd|d<   d|i|d|iS )Nguidance_scaler:   )b64_jsonurlrQ   promptmodel)provider_idr   popr)   )r   r6   r7   r8   rI   s        r   r?   z.NebiusTextToImageTask._prepare_payload_as_dict4   sc     -88 ,
z)NN+,>>+,4GG,6J()&FJFFFr   r   r    c                 T    t        |      }t        j                  |d   d   d         S )Ndatar   rQ   )r	   base64	b64decode)r   r   r    response_dicts       r   r+   z"NebiusTextToImageTask.get_response@   s,     *f 5a 8 DEEr   r,   r-   r.   r/   r   strrN   r   r   r   r   r?   r   r0   r   r+   r1   r2   s   @r   rE   rE   -   s    k(3 ( ( (
G
G'+
GD\
G	$
GFU5$;%7 FRcId Fps Fr   rE   c            	       v     e Zd Z fdZdededefdZdededede	e   fd	Z
dd
eeef   de	e   defdZ xZS )NebiusFeatureExtractionTaskc                 *    t         |   ddd       y )Nzfeature-extractionr   r   rG   r   r   s    r   r   z$NebiusFeatureExtractionTask.__init__F   s    2XPnor   rI   rJ   r!   c                      y)Nz/v1/embeddingsrL   rM   s      r   rN   z*NebiusFeatureExtractionTask._prepare_routeI   s    r   r6   r7   r8   c                      ||j                   dS )N)inputrT   )rU   )r   r6   r7   r8   s       r   r?   z4NebiusFeatureExtractionTask._prepare_payload_as_dictL   s      *?*K*KLLr   r   r    c                 N    t        |      d   }|D cg c]  }|d   	 c}S c c}w )NrX   	embedding)r	   )r   r   r    
embeddingsre   s        r   r+   z(NebiusFeatureExtractionTask.get_responseQ   s*    h'/
8BC9	+&CCCs   "r,   r\   r2   s   @r   r_   r_   E   s    p 3      MM'+MD\M	$M
DU5$;%7 DRcId Dps Dr   r_   )rY   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   r   r4   rE   r_   rL   r   r   <module>rk      sV     - - ; I 
5 
5  F. F0D"4 Dr   