
    $	&h]                         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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    /var/www/pru.catia.catastroantioquia-mas.com/valormas/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 xZS )NebiusConversationalTaskc                 (    t         |   dd       y r   r   r   s    r   r   z!NebiusConversationalTask.__init__   r   r   )r-   r.   r/   r   r1   r2   s   @r   r4   r4      s    U U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   r:   r;   s      r   _prepare_routez$NebiusTextToImageTask._prepare_route&   s    'r   inputs
parametersprovider_mapping_infoc                     |j                   }t        |      }d|v r|j                  d       |j                  d      dvrd|d<   d|i|d|iS )Nguidance_scaleresponse_format)b64_jsonurlrE   promptmodel)provider_idr   popr)   )r   r?   r@   rA   r:   s        r   _prepare_payload_as_dictz.NebiusTextToImageTask._prepare_payload_as_dict)   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   rE   )r	   base64	b64decode)r   r   r    response_dicts       r   r+   z"NebiusTextToImageTask.get_response5   s,     *f 5a 8 DEEr   r,   )r-   r.   r/   r   strr>   r   r   r   r   rK   r   r0   r   r+   r1   r2   s   @r   r7   r7   "   s    k(3 ( ( (
G
G'+
GD\
G	$
GFU5$;%7 FRcId Fps Fr   r7   )rN   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   r   r4   r7   r=   r   r   <module>rV      sI     - - ; I 
5 
U5 U
F. Fr   