
    j                     z    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d	S )
    )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                 N    t                                          dd           d S )N	sambanovahttps://api.sambanova.ai)providerbase_urlsuper__init__self	__class__s    q/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/sambanova.pyr   z$SambanovaConversationalTask.__init__	   s'    +8RSSSSS    inputs
parametersprovider_mapping_inforeturnNc                 j   |                     d          }t          |t                    rd|                     d          dk    rK|                     di           }|                     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!B,d33 	9%))&11]BB%;%?%?r%R%R"+//990$77 9Vt^^v~38&x0''226:G\]]r   )	__name__
__module____qualname__r   r   r$   r   r%   __classcell__r   s   @r   r   r      s        T T T T 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                 P    t                                          ddd           d S )Nr   r   zfeature-extraction)r   r   taskr   r   s    r   r   z'SambanovaFeatureExtractionTask.__init__   s*    +8RYmnnnnnr   mapped_modelapi_keyr   c                     dS )Nz/v1/embeddings )r   r2   r3   s      r   _prepare_routez-SambanovaFeatureExtractionTask._prepare_route   s    r   r   r   r   Nc                 8    t          |          }||j        d|S )N)inputmodel)r	   provider_id)r   r   r   r   s       r   r%   z7SambanovaFeatureExtractionTask._prepare_payload_as_dict"   s(     !,,
*?*KZZzZZr   responserequest_paramsc                 D    t          |          d         }d |D             S )Ndatac                     g | ]
}|d          S )	embeddingr5   ).0r@   s     r   
<listcomp>z?SambanovaFeatureExtractionTask.get_response.<locals>.<listcomp>*   s    CCC9	+&CCCr   )r   )r   r;   r<   
embeddingss       r   get_responsez+SambanovaFeatureExtractionTask.get_response(   s(    h''/
CC
CCCCr   )N)r)   r*   r+   r   strr6   r   r$   r   r%   bytesr   rD   r,   r-   s   @r   r/   r/      s        o o o o o 3            [['+[D\[	[ [ [ [D DUT\ DCTW[C[ Dgj D D D D D D D 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>rK      s          ; ; ; ; ; ; I I I I I I I I p p p p p p p p p p    "8   &D D D D D%7 D D D D Dr   