o
     
jC                     @   sh   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	 d	e	ZG d
d deZdS )    )Any)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskBaseTextGenerationTaskfilter_nonezfeatherless-aizhttps://api.featherless.aic                	       sZ   e Zd Z fddZdededededB fdd	Zdd
eeB de	dB defddZ
  ZS )FeatherlessTextGenerationTaskc                       t  jttd d S N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__ f/home/kuhnn/.local/lib/python3.10/site-packages/huggingface_hub/inference/_providers/featherless_ai.pyr         z&FeatherlessTextGenerationTask.__init__inputs
parametersprovider_mapping_inforeturnNc                 C   s2   t | }|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   paramsr   r   r   _prepare_payload_as_dict   s   z6FeatherlessTextGenerationTask._prepare_payload_as_dictresponserequest_paramsc                 C   s0   t |d d }|d |d|dddS )Nchoicesr   textfinish_reasonseed)r,   r-   )generated_textdetails)r   get)r   r(   r)   outputr   r   r   get_response   s   z*FeatherlessTextGenerationTask.get_response)N)__name__
__module____qualname__r   r   dictr   r'   bytesr   r2   __classcell__r   r   r   r   r
      s    
(r
   c                       s   e Zd Z fddZ  ZS )FeatherlessConversationalTaskc                    r   r   r   r   r   r   r   r   %   r   z&FeatherlessConversationalTask.__init__)r3   r4   r5   r   r8   r   r   r   r   r9   $   s    r9   N)typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   _commonr   r   r	   r   r   r
   r9   r   r   r   r   <module>   s    