
    wi
                         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  G d de          Z G d	 d
e          ZdS )    N)AnyDict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    /var/www/development/aibuddy-work/election-extract/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   r6   )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   r   r   r   r=   r   bytesr   rE   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#   )rB   typingr   r   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   