U
    ”Ê¹j
  ã                   @   st   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„ deƒZG d	d
„ d
eƒZdS )é    N)ÚAnyÚDictÚOptionalÚUnion)ÚInferenceProviderMapping)ÚRequestParametersÚ_as_dicté   )ÚBaseConversationalTaskÚTaskProviderHelperÚfilter_nonec                       s   e Zd Z‡ fdd„Z‡  ZS )ÚNscaleConversationalTaskc                    s   t ƒ jddd� d S )NÚnscaleú https://inference.api.nscale.com)ÚproviderÚbase_url©ÚsuperÚ__init__©Úself©Ú	__class__© új/var/www/html/bwave/python/venv/lib/python3.8/site-packages/huggingface_hub/inference/_providers/nscale.pyr      s    z!NscaleConversationalTask.__init__)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   r   r   r   r   
   s   r   c                       sf   e Zd Z‡ fdd„Zeeedœdd„Zeeee	e dœdd„Z
deeef e	e ed
œdd„Z‡  ZS )ÚNscaleTextToImageTaskc                    s   t ƒ jdddd� d S )Nr   r   ztext-to-image)r   r   Útaskr   r   r   r   r   r      s    zNscaleTextToImageTask.__init__)Úmapped_modelÚapi_keyÚreturnc                 C   s   dS )Nz/v1/images/generationsr   )r   r!   r"   r   r   r   Ú_prepare_route   s    z$NscaleTextToImageTask._prepare_route)ÚinputsÚ
parametersÚprovider_mapping_infor#   c                 C   st   |j }t|ƒ}d|kr<d|kr<| d¡› d| d¡› �|d< d|krN| d¡ d|kr`| d¡ d||dœ|–}|S )	NÚwidthÚheightÚxÚsizeZnum_inference_stepsZ	cfg_scaleÚb64_json)Zresponse_formatÚpromptÚmodel)Zprovider_idr   Úpop)r   r%   r&   r'   r!   Úpayloadr   r   r   Ú_prepare_payload_as_dict   s    

ýüz.NscaleTextToImageTask._prepare_payload_as_dictN)ÚresponseÚrequest_paramsr#   c                 C   s   t |ƒ}t |d d d ¡S )NÚdatar   r,   )r   Úbase64Ú	b64decode)r   r2   r3   Zresponse_dictr   r   r   Úget_response*   s    z"NscaleTextToImageTask.get_response)N)r   r   r   r   Ústrr$   r   r   r   r   r1   r   Úbytesr   r7   r   r   r   r   r   r      s     þr   )r5   Útypingr   r   r   r   Zhuggingface_hub.hf_apir   Z!huggingface_hub.inference._commonr   r   Z_commonr
   r   r   r   r   r   r   r   r   Ú<module>   s   