
    i                     t    d dl Z d dlmZ d dlmZ d dlmZmZ ddlm	Z	m
Z
mZ  G d de	      Z G d	 d
e
      Zy)    N)Any)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskTaskProviderHelperfilter_nonec                        e Zd Z fdZ xZS )NscaleConversationalTaskc                 (    t         |   dd       y )Nnscale https://inference.api.nscale.com)providerbase_urlsuper__init__self	__class__s    |/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/nscale.pyr   z!NscaleConversationalTask.__init__   s    (5WX    )__name__
__module____qualname__r   __classcell__r   s   @r   r   r   
   s    Y Yr   r   c            	       r     e Zd Z fdZdededefdZdedededed	z  fd
Z	dde
ez  ded	z  defdZ xZS )NscaleTextToImageTaskc                 *    t         |   ddd       y )Nr   r   ztext-to-image)r   r   taskr   r   s    r   r   zNscaleTextToImageTask.__init__   s    (5W^mnr   mapped_modelapi_keyreturnc                      y)Nz/v1/images/generations )r   r#   r$   s      r   _prepare_routez$NscaleTextToImageTask._prepare_route   s    'r   inputs
parametersprovider_mapping_infoNc                     |j                   }t        |      }d|v r,d|v r(|j                  d       d|j                  d       |d<   d|v r|j                  d       d|v r|j                  d       d||d|}|S )	Nwidthheightxsizenum_inference_steps	cfg_scaleb64_json)response_formatpromptmodel)provider_idr
   pop)r   r)   r*   r+   r#   payloads         r   _prepare_payload_as_dictz.NscaleTextToImageTask._prepare_payload_as_dict   s     -88 ,
j X%;$.NN7$;#<AjnnX>V=W!XJv J.NN01*$NN;')!
 	
 r   responserequest_paramsc                 T    t        |      }t        j                  |d   d   d         S )Ndatar   r3   )r   base64	b64decode)r   r;   r<   response_dicts       r   get_responsez"NscaleTextToImageTask.get_response*   s,     *f 5a 8 DEEr   )N)r   r   r   r   strr(   r   dictr   r:   bytesr   rB   r   r   s   @r   r    r       sv    o(3 ( ( ('+D\	(FUT\ FCTW[C[ Fgj Fr   r    )r?   typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   _commonr   r	   r
   r   r    r'   r   r   <module>rJ      s5      ; I L LY5 Y
F. Fr   