Ë
    Z²jÏ  ã                   ó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    €úm/var/www/html/ia-enhanced/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´$Ô7¸VÀt¹^ÈvÈ~Ø38Ð& xÑ0ä‘'Ñ2°6¸:Ð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   ø€ Ü‰Ñ +Ð8RÐYmÐÕ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ÑZÈzÐ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ÖC¨9�	˜+Ó&Ò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 U¨T¡\ð DÐCTÐW[Ñ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   