
    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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 )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    /var/www/development/aibuddy-work/election-extract/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_infoc                     |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   Nresponserequest_paramsc                 l    t          |          }t          j        |d         d         d                   S )Nimagesr   image)r	   base64	b64decode)r   r0   r1   response_dicts       r   get_responsez&HyperbolicTextToImageTask.get_response    s/     **h 7 :7 CDDDr   )N)__name__
__module____qualname__r   strr    r   r   r   r   r/   r   bytesr   r8   __classcell__r   s   @r   r   r   	   s        m m m m m(3 ( ( ( ( ( (LL'+LD\L	$L L L L E EU5$;%7 ERcId Eps 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   )r9   r:   r;   __doc__r<   r   r>   r?   s   @r   rA   rA   %   sN         S          r   rA   )r5   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   rA   r   r   r   <module>rH      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   