
    RX9i                         S SK r S SKJr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Dict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    k/var/www/html/land-doc-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   bytesr   r   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+   
isinstancedict)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/   )r1   r2   r3   r4   r   r   r   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   rT   rU   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@   rT   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/   r0   r1   r2   r3   r4   r   strrX   r   r   r   r   rG   r   r5   r   r-   r6   r7   r8   s   @r   rN   rN   -   s    k(3 ( ( (
G
G'+
GD\
G	$
GFU5$;%7 FRcId Fps F Fr    rN   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   rQ   r   r   s    r   r   $NebiusFeatureExtractionTask.__init__F   s    2XPnor    rT   rU   r#   c                     g)Nz/v1/embeddingsr/   rW   s      r   rX   *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 )Nrd   	embedding)r	   )r   r!   r"   
embeddingsrv   s        r   r-   (NebiusFeatureExtractionTask.get_responseQ   s,    h'/
8BC
9+&
CCCs   $r/   r0   ri   r8   s   @r   rl   rl   E   s    p 3      MM'+MD\M	$M
DU5$;%7 DRcId Dps D Dr    rl   )re   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   r   r:   rN   rl   r/   r    r   <module>r}      sV     - - ; I 
5 
5  F. F0D"4 Dr    