
    -i                         d dl Z d dl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  G d de          Z G d	 d
e          ZdS )    N)AnyOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskTaskProviderHelperfilter_nonec                        e Zd Z fdZ xZS )NscaleConversationalTaskc                 N    t                                          dd           d S )Nnscale https://inference.api.nscale.com)providerbase_urlsuper__init__self	__class__s    i/var/www/html/speakWrite/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/nscale.pyr   z!NscaleConversationalTask.__init__   s'    (5WXXXXX    )__name__
__module____qualname__r   __classcell__r   s   @r   r   r   
   sA        Y Y Y Y Y Y Y Y Yr   r   c            	            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 )NscaleTextToImageTaskc                 P    t                                          ddd           d S )Nr   r   ztext-to-image)r   r   taskr   r   s    r   r   zNscaleTextToImageTask.__init__   s*    (5W^mnnnnnr   mapped_modelapi_keyreturnc                     dS )Nz/v1/images/generations )r   r%   r&   s      r   _prepare_routez$NscaleTextToImageTask._prepare_route   s    ''r   inputs
parametersprovider_mapping_infoc                    |j         }t          |          }d|v r4d|v r0|                    d           d|                    d           |d<   d|v r|                    d           d|v r|                    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 ,,
j  X%;%;$.NN7$;$;!X!XjnnX>V>V!X!XJv J..NN0111*$$NN;''')!
 
 	
 r   Nresponserequest_paramsc                 l    t          |          }t          j        |d         d         d                   S )Ndatar   r5   )r   base64	b64decode)r   r=   r>   response_dicts       r   get_responsez"NscaleTextToImageTask.get_response*   s/     **f 5a 8 DEEEr   )N)r   r   r   r   strr*   r   dictr   r   r<   r   bytesr   rD   r   r    s   @r   r"   r"      s        o o o o o(3 ( ( ( ( ( ('+D\	$   (F FU5$;%7 FRcId Fps F F F F F F F Fr   r"   )rA   typingr   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   _commonr
   r   r   r   r"   r)   r   r   <module>rL      s     ' ' ' ' ' ' ' ' ' ' ; ; ; ; ; ; I I I I I I I I L L L L L L L L L LY Y Y Y Y5 Y Y Y
F F F F F. F F F F Fr   