o
    0j                     @   s`   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
 G dd deZG dd de	Zd	S )
    )Any)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec                	       s>   e Zd Z fddZdededededB f 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__ o/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/huggingface_hub/inference/_providers/sambanova.pyr   	   s   z$SambanovaConversationalTask.__init__inputs
parametersprovider_mapping_inforeturnNc                    sn   | d}t|tr-| ddkr-| di }| d}t|tr-|du s)|d u r-d|d< t |||}|S )NZresponse_formattypeZjson_schemastrictTF)get
isinstancedictr   _prepare_payload_as_dict)r   r   r   r   Zresponse_format_configZjson_schema_configr   payloadr   r   r   r       s   


z4SambanovaConversationalTask._prepare_payload_as_dict)	__name__
__module____qualname__r   r   r   r   r    __classcell__r   r   r   r   r	      s    r	   c                	       sp   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dB fddZ	dde
eB dedB 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_keyr   c                 C   s   dS )Nz/v1/embeddingsr   )r   r(   r)   r   r   r   _prepare_route   s   z-SambanovaFeatureExtractionTask._prepare_router   r   r   Nc                 C   s   t |}||jd|S )N)inputmodel)r   Zprovider_id)r   r   r   r   r   r   r   r    "   s   z7SambanovaFeatureExtractionTask._prepare_payload_as_dictresponserequest_paramsc                 C   s   t |d }dd |D S )Ndatac                 S   s   g | ]}|d  qS )	embeddingr   ).0r0   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    bytesr   r3   r%   r   r   r   r   r&      s    
(r&   N)typingr   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    