
    _i                         S SK r S SKJrJrJr  S SKJr  S SKJrJ	r	  S SK
JrJrJrJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      rg)    N)AnyOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskBaseTextGenerationTaskTaskProviderHelperfilter_nonec                   R   ^  \ rS rSrU 4S jrSS\\\4   S\\	   S\
4S jjrSrU =r$ )	NebiusTextGenerationTask   c                 "   > [         TU ]  SSS9  g Nnebiushttps://api.studio.nebius.ai)providerbase_urlsuper__init__self	__class__s    g/var/www/html/land-ocr/venv/lib/python3.13/site-packages/huggingface_hub/inference/_providers/nebius.pyr   !NebiusTextGenerationTask.__init__       (5ST    responserequest_paramsreturnc                 v    [        U5      S   S   nUS   UR                  S5      UR                  S5      S.S.$ )Nchoicesr   textfinish_reasonseed)r&   r'   )generated_textdetails)r   get)r   r    r!   outputs       r   get_response%NebiusTextGenerationTask.get_response   sD    (#I.q1$Vn!'O!<

6*
 	
r    N)__name__
__module____qualname____firstlineno__r   r   bytesdictr   r   r   r,   __static_attributes____classcell__r   s   @r   r   r      s8    U
U5$;%7 
RcId 
ps 
 
r   r   c            	       N   ^  \ rS rSrU 4S jrS\S\S\S\\   4U 4S jjr	Sr
U =r$ )	NebiusConversationalTask   c                 "   > [         TU ]  SSS9  g r   r   r   s    r   r   !NebiusConversationalTask.__init__   r   r   inputs
parametersprovider_mapping_infor"   c                   > [         TU ]  XU5      nUR                  S5      n[        U[        5      (       aI  UR                  S5      S:X  a4  UR                  S5      n[        U[        5      (       a  SU;   a  US   US'   U$ )Nresponse_formattypejson_schemaschemaguided_json)r   _prepare_payload_as_dictr*   
isinstancer5   )r   r>   r?   r@   payloadrB   json_schema_detailsr   s          r   rG   1NebiusConversationalTask._prepare_payload_as_dict!   s     '26G\]$..):;ot,,1D1DV1LP]1]"1"5"5m"D-t44EX9X)<X)F&r   r.   )r0   r1   r2   r3   r   r   r5   r   r   rG   r6   r7   r8   s   @r   r:   r:      s7    U		'+	D\		$	 	r   r:   c            	          ^  \ rS rSrU 4S jrS\S\S\4S jrS\S\S	\	S\
\   4S
 jrSS\\\4   S\
\   S\4S jjrSrU =r$ )NebiusTextToImageTask-   c                 $   > [         TU ]  SSSS9  g )Nztext-to-imager   r   taskr   r   r   r   s    r   r   NebiusTextToImageTask.__init__.   s    oKijr   mapped_modelapi_keyr"   c                     g)Nz/v1/images/generationsr.   r   rS   rT   s      r   _prepare_route$NebiusTextToImageTask._prepare_route1   s    'r   r>   r?   r@   c                     UR                   n[        U5      nSU;   a  UR                  S5        UR                  S5      S;  a  SUS'   SU0UESU0E$ )Nguidance_scalerB   )b64_jsonurlr[   promptmodel)provider_idr   popr*   )r   r>   r?   r@   rS   s        r   rG   .NebiusTextToImageTask._prepare_payload_as_dict4   sc     -88 ,
z)NN+,>>+,4GG,6J()&FJFFFr   r    r!   c                 V    [        U5      n[        R                  " US   S   S   5      $ )Ndatar   r[   )r   base64	b64decode)r   r    r!   response_dicts       r   r,   "NebiusTextToImageTask.get_response@   s,     *f 5a 8 DEEr   r.   r/   r0   r1   r2   r3   r   strrW   r   r5   r   r   rG   r   r4   r   r,   r6   r7   r8   s   @r   rM   rM   -   s    k(3 ( ( (
G
G'+
GD\
G	$
GFU5$;%7 FRcId Fps F Fr   rM   c            	          ^  \ rS rSrU 4S jrS\S\S\4S jrS\S\S	\	S\
\   4S
 jrSS\\\4   S\
\   S\4S jjrSrU =r$ )NebiusFeatureExtractionTaskE   c                 $   > [         TU ]  SSSS9  g )Nzfeature-extractionr   r   rP   r   r   s    r   r   $NebiusFeatureExtractionTask.__init__F   s    2XPnor   rS   rT   r"   c                     g)Nz/v1/embeddingsr.   rV   s      r   rW   *NebiusFeatureExtractionTask._prepare_routeI   s    r   r>   r?   r@   c                     XR                   S.$ )N)inputr^   )r_   )r   r>   r?   r@   s       r   rG   4NebiusFeatureExtractionTask._prepare_payload_as_dictL   s      *K*KLLr   r    r!   c                 R    [        U5      S   nU Vs/ s H  oDS   PM	     sn$ s  snf )Nrc   	embedding)r   )r   r    r!   
embeddingsru   s        r   r,   (NebiusFeatureExtractionTask.get_responseQ   s,    h'/
8BC
9+&
CCCs   $r.   r/   rh   r8   s   @r   rk   rk   E   s    p 3      MM'+MD\M	$M
DU5$;%7 DRcId Dps D Dr   rk   )rd   typingr   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   ,huggingface_hub.inference._providers._commonr	   r
   r   r   r   r:   rM   rk   r.   r   r   <module>r|      sV     ' ' ; I 
5 
5  F. F0D"4 Dr   