o
    0i`                     @   sp   d dl 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 dZdZG dd	 d	eZG d
d de
ZdS )    )AnyOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskBaseTextGenerationTaskfilter_nonezfeatherless-aizhttps://api.featherless.aic                	       s^   e Zd Z fddZdedededee fddZdd
e	e
ef dee 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__ m/home/kim/smarthome/.venv/lib/python3.10/site-packages/huggingface_hub/inference/_providers/featherless_ai.pyr         z&FeatherlessTextGenerationTask.__init__inputs
parametersprovider_mapping_inforeturnc                 C   s2   t | }|dd |d< d|i|d|jiS )NZmax_new_tokensZ
max_tokenspromptmodel)r   copypopZprovider_id)r   r   r   r   paramsr   r   r   _prepare_payload_as_dict   s   z6FeatherlessTextGenerationTask._prepare_payload_as_dictNresponserequest_paramsc                 C   s0   t |d d }|d |d|dddS )Nchoicesr   textfinish_reasonseed)r+   r,   )Z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   r&   r   bytesr   r0   __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__)r1   r2   r3   r   r6   r   r   r   r   r7   $   s    r7   N)typingr   r   r   Zhuggingface_hub.hf_apir   Z!huggingface_hub.inference._commonr   r   _commonr	   r
   r   r   r   r   r7   r   r   r   r   <module>   s    