
    wi                         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e          Z G d de          Zd	S )
    )AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec            	       F     e Zd Z fdZdedededee         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    /var/www/development/aibuddy-work/election-extract/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returnc                 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   r(   __classcell__r   s   @r   r   r      s        T T T T T'+D\	$         r   r   c            	            e Zd Z fdZdedede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 )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   r5   r6   s      r   _prepare_routez-SambanovaFeatureExtractionTask._prepare_route   s    r   r   r   r   c                 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   Nresponserequest_paramsc                 D    t          |          d         }d |D             S )Ndatac                     g | ]
}|d          S )	embeddingr8   ).0rC   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   strr9   r   r   r   r   r(   r   bytesr   rG   r/   r0   s   @r   r2   r2      s        o o o o o 3            [['+[D\[	$[ [ [ [D DU5$;%7 DRcId Dps D D D D D D D Dr   r2   N)typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   r2   r8   r   r   <module>rN      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   