
    ;3h                     x    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y	)
    )AnyDictOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskTaskProviderHelperfilter_nonec            	       @     e Zd Z fdZdedededee   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    n/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/huggingface_hub/inference/_providers/sambanova.pyr   z$SambanovaConversationalTask.__init__	   s    +8RS    inputs
parametersprovider_mapping_inforeturnc                    |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   r(   __classcell__r   s   @r   r   r      s7    T'+D\	$ r   r   c            	       v     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                 *    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   r5   r6   s      r   _prepare_routez-SambanovaFeatureExtractionTask._prepare_route   s    r   r   r   r   c                 :    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?   
embeddingsrB   s        r   get_responsez+SambanovaFeatureExtractionTask.get_response(   s*    h'/
8BC9	+&CCCs   ")N)r,   r-   r.   r   strr9   r   r   r   r   r(   r   bytesr   rD   r/   r0   s   @r   r2   r2      s    o 3      [['+[D\[	$[DU5$;%7 DRcId Dps 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>rK      s3    - - ; I p p"8 &D%7 Dr   