
    j                         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dS )
    N)Any)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec            	       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 )HyperbolicTextToImageTaskc                 P    t                                          ddd           d S )N
hyperbolichttps://api.hyperbolic.xyzztext-to-image)providerbase_urltask)super__init__)self	__class__s    r/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/hyperbolic.pyr   z"HyperbolicTextToImageTask.__init__
   s*    ,9U\klllll    mapped_modelapi_keyreturnc                     dS )Nz/v1/images/generations )r   r   r   s      r   _prepare_routez(HyperbolicTextToImageTask._prepare_route   s    ''r   inputs
parametersprovider_mapping_infoNc                     |j         }t          |          }d|v r|                    d          |d<   d|v r|                    d          |d<   d|vrd|d<   d|vrd|d<   ||d|S )	Nnum_inference_stepsstepsguidance_scale	cfg_scalewidthi   height)prompt
model_name)provider_idr	   pop)r   r   r   r    r   s        r   _prepare_payload_as_dictz2HyperbolicTextToImageTask._prepare_payload_as_dict   s     -8 ,,
 J..",..1F"G"GJwz))&0nn5E&F&FJ{#*$$"%Jw:%%#&Jx  KK
KKr   responserequest_paramsc                 l    t          |          }t          j        |d         d         d                   S )Nimagesr   image)r   base64	b64decode)r   r-   r.   response_dicts       r   get_responsez&HyperbolicTextToImageTask.get_response    s/     **h 7 :7 CDDDr   )N)__name__
__module____qualname__r   strr   r   dictr   r,   bytesr   r5   __classcell__r   s   @r   r   r   	   s        m m m m m(3 ( ( ( ( ( (LL'+LD\L	L L L L E EUT\ ECTW[C[ Egj E E E E E E E Er   r   c                   (     e Zd ZdZdef fdZ xZS )HyperbolicTextGenerationTaskzf
    Special case for Hyperbolic, where text-generation task is handled as a conversational task.
    r   c                 \    t                                          dd           || _        d S )Nr   r   )r   r   )r   r   r   )r   r   r   s     r   r   z%HyperbolicTextGenerationTask.__init__*   s7    !1 	 	
 	
 	
 			r   )r6   r7   r8   __doc__r9   r   r<   r=   s   @r   r?   r?   %   sN         S          r   r?   )r2   typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   ,huggingface_hub.inference._providers._commonr   r   r	   r   r?   r   r   r   <module>rF      s           ; ; ; ; ; ; I I I I I I I I p p p p p p p p p pE E E E E 2 E E E8
 
 
 
 
#9 
 
 
 
 
r   