
    i                     l    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e      Z G d de	      Zy	)
    )Any)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec            	       @     e Zd Z fdZdededededz  f fdZ xZS )SambanovaConversationalTaskc                 (    t         |   dd       y )N	sambanovahttps://api.sambanova.ai)providerbase_urlsuper__init__self	__class__s    /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/sambanova.pyr   z$SambanovaConversationalTask.__init__	   s    +8RS    inputs
parametersprovider_mapping_inforeturnNc                    |j                  d      }t        |t              rR|j                  d      dk(  r>|j                  di       }|j                  d      }t        |t              r|du s|d|d<   t        |   |||      }|S )Nresponse_formattypejson_schemastrictTF)get
isinstancedictr   _prepare_payload_as_dict)	r   r   r   r   response_format_configjson_schema_configr!   payloadr   s	           r   r%   z4SambanovaConversationalTask._prepare_payload_as_dict   s     ",0A!B,d3%))&1]B%;%?%?r%R"+//90$7Vt^v~38&x0'26:G\]r   )	__name__
__module____qualname__r   r   r$   r   r%   __classcell__r   s   @r   r   r      s7    T'+D\	 r   r   c            	       r     e Zd Z fdZdededefdZdedededed	z  fd
Z	dde
ez  ded	z  defdZ xZS )SambanovaFeatureExtractionTaskc                 *    t         |   ddd       y )Nr   r   zfeature-extraction)r   r   taskr   r   s    r   r   z'SambanovaFeatureExtractionTask.__init__   s    +8RYmnr   mapped_modelapi_keyr   c                      y)Nz/v1/embeddings )r   r2   r3   s      r   _prepare_routez-SambanovaFeatureExtractionTask._prepare_route   s    r   r   r   r   Nc                 :    t        |      }||j                  d|S )N)inputmodel)r	   provider_id)r   r   r   r   s       r   r%   z7SambanovaFeatureExtractionTask._prepare_payload_as_dict"   s%     !,
*?*K*KZzZZr   responserequest_paramsc                 N    t        |      d   }|D cg c]  }|d   	 c}S c c}w )Ndata	embedding)r   )r   r;   r<   
embeddingsr?   s        r   get_responsez+SambanovaFeatureExtractionTask.get_response(   s*    h'/
8BC9	+&CCCs   ")N)r)   r*   r+   r   strr6   r   r$   r   r%   bytesr   rA   r,   r-   s   @r   r/   r/      s{    o 3      [['+[D\[	[DUT\ DCTW[C[ Dgj Dr   r/   N)typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   ,huggingface_hub.inference._providers._commonr   r   r	   r   r/   r5   r   r   <module>rH      s0     ; I p p"8 &D%7 Dr   