
    \jC                     t    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
 dZdZ G d d	e	      Z G d
 de      Zy)    )Any)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskBaseTextGenerationTaskfilter_nonezfeatherless-aizhttps://api.featherless.aic            	       ^     e Zd Z 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 )FeatherlessTextGenerationTaskc                 8    t         |   t        t               y N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__s    f/root/.hermes/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/featherless_ai.pyr   z&FeatherlessTextGenerationTask.__init__       )i@    inputs
parametersprovider_mapping_inforeturnNc                     t        |j                               }|j                  dd       |d<   d|i|d|j                  iS )Nmax_new_tokens
max_tokenspromptmodel)r
   copypopprovider_id)r   r   r   r   paramss        r   _prepare_payload_as_dictz6FeatherlessTextGenerationTask._prepare_payload_as_dict   sI     Z__./%zz*:DA|&WFWG5J5V5VWWr   responserequest_paramsc                 v    t        |      d   d   }|d   |j                  d      |j                  d      ddS )Nchoicesr   textfinish_reasonseed)r/   r0   )generated_textdetails)r   get)r   r*   r+   outputs       r   get_responsez*FeatherlessTextGenerationTask.get_response   sD    (#I.q1$Vn!'O!<

6*
 	
r   )N)__name__
__module____qualname__r   r   dictr   r)   bytesr   r5   __classcell__r   s   @r   r   r      s]    AXX'+XD\X	X
UT\ 
CTW[C[ 
gj 
r   r   c                        e Zd Z fdZ xZS )FeatherlessConversationalTaskc                 8    t         |   t        t               y r   r   r   s    r   r   z&FeatherlessConversationalTask.__init__%   r   r   )r6   r7   r8   r   r;   r<   s   @r   r>   r>   $   s    A Ar   r>   N)typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   _commonr   r	   r
   r   r   r   r>    r   r   <module>rE      s<     ; I P P 	(	
$: 
.A$: Ar   