o
    vZh                     @   sl   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 deZG dd deZd	S )
    )AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec                       s   e Zd Z fddZ  ZS )SambanovaConversationalTaskc                    s   t  jddd d S )N	sambanovahttps://api.sambanova.ai)providerbase_urlsuper__init__self	__class__ ]/var/www/auris/lib/python3.10/site-packages/huggingface_hub/inference/_providers/sambanova.pyr   	   s   z$SambanovaConversationalTask.__init__)__name__
__module____qualname__r   __classcell__r   r   r   r   r      s    r   c                	       st   e Zd Z fddZdedede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 )SambanovaFeatureExtractionTaskc                    s   t  jdddd d S )Nr   r   zfeature-extraction)r   r   taskr   r   r   r   r   r      s   z'SambanovaFeatureExtractionTask.__init__mapped_modelapi_keyreturnc                 C   s   dS )Nz/v1/embeddingsr   )r   r    r!   r   r   r   _prepare_route   s   z-SambanovaFeatureExtractionTask._prepare_routeinputs
parametersprovider_mapping_infoc                 C   s   t |}||jd|S )N)inputmodel)r   Zprovider_id)r   r$   r%   r&   r   r   r   _prepare_payload_as_dict   s   z7SambanovaFeatureExtractionTask._prepare_payload_as_dictNresponserequest_paramsc                 C   s   t |d }dd |D S )Ndatac                 S   s   g | ]}|d  qS )	embeddingr   ).0r-   r   r   r   
<listcomp>   s    z?SambanovaFeatureExtractionTask.get_response.<locals>.<listcomp>)r   )r   r*   r+   Z
embeddingsr   r   r   get_response   s   z+SambanovaFeatureExtractionTask.get_response)N)r   r   r   r   strr#   r   r   r   r   r)   r   bytesr   r0   r   r   r   r   r   r      s    
,r   N)typingr   r   r   r   Zhuggingface_hub.hf_apir   Z!huggingface_hub.inference._commonr   r   Z,huggingface_hub.inference._providers._commonr	   r
   r   r   r   r   r   r   r   <module>   s    