
    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            	       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                 *    t         |   ddd       y )N
hyperbolichttps://api.hyperbolic.xyzztext-to-image)providerbase_urltask)super__init__)self	__class__s    /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/hyperbolic.pyr   z"HyperbolicTextToImageTask.__init__
   s    ,9U\kl    mapped_modelapi_keyreturnc                      y)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|j                  d      |d<   d|v r|j                  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8 ,
 J.",..1F"GJwz)&0nn5E&FJ{#*$"%Jw:%#&Jx  K
KKr   responserequest_paramsc                 T    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Dr   )N)__name__
__module____qualname__r   strr   r   dictr   r,   bytesr   r5   __classcell__r   s   @r   r   r   	   s{    m(3 ( ( (LL'+LD\L	L EUT\ ECTW[C[ Egj 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                 6    t         |   dd       || _        y )Nr   r   )r   r   )r   r   r   )r   r   r   s     r   r   z%HyperbolicTextGenerationTask.__init__*   s$    !1 	 	
 	r   )r6   r7   r8   __doc__r9   r   r<   r=   s   @r   r?   r?   %   s    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      s3      ; I p pE 2 E8
#9 
r   