
    qi`                     |    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	e      Z G d
 de
      Zy)    )AnyOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict   )BaseConversationalTaskBaseTextGenerationTaskfilter_nonezfeatherless-aizhttps://api.featherless.aic            	       b     e Zd Z 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 )FeatherlessTextGenerationTaskc                 8    t         |   t        t               y N)providerbase_urlsuper__init__	_PROVIDER	_BASE_URLself	__class__s    e/opt/pipecat/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/featherless_ai.pyr   z&FeatherlessTextGenerationTask.__init__       )i@    inputs
parametersprovider_mapping_inforeturnc                     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)r1   r2   )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   r+   r   bytesr   r7   __classcell__r   s   @r   r   r      sa    AXX'+XD\X	$X
U5$;%7 
RcId 
ps 
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   )r8   r9   r:   r   r=   r>   s   @r   r@   r@   $   s    A Ar   r@   N)typingr   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   _commonr
   r   r   r   r   r   r@    r   r   <module>rG      s?    ' ' ; I P P 	(	
$: 
.A$: Ar   