Ë
    uPêj�  ã                   óŽ   — d Z ddlmZ ddlZddlmZ ddlm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 d
dlmZ  G d„ de
«      Zy)z;
This is OpenAI compatible - no transformation is applied

é    )ÚFinalN)ÚLogging)ÚBaseLLMException)ÚBaseEmbeddingConfig©Úget_secret_str)ÚAllEmbeddingInputValuesÚAllMessageValues)ÚEmbeddingResponseÚUsageé   ©ÚSambaNovaErrorc                   óF  — e Zd Zdd„Z	 ddedz  dedz  dededed	edz  defd
„Z	 	 ddededee	   dedededz  dedz  defd„Z
defd„Zdedededefd„Zdededededef
d„Zdedej                   dedededz  dedededefd„Zdededeej*                  z  defd„Zy)ÚSambaNovaEmbeddingConfigÚreturnNc                  ó   — y ©N© )Úselfs    út/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/sambanova/embedding/transformation.pyÚ__init__z!SambaNovaEmbeddingConfig.__init__   s   € Øó    Úapi_baseÚapi_keyÚmodelÚoptional_paramsÚlitellm_paramsÚstreamc                 ón   — |€t        d«      ‚|j                  d«      }|j                  d«      s|› d�}|S )Nz-api_base is required for SambaNova embeddingsú/z/embeddings)Ú
ValueErrorÚrstripÚendswith)r   r   r   r   r   r   r   s          r   Úget_complete_urlz)SambaNovaEmbeddingConfig.get_complete_url   sC   € ð ÐÜÐLÓMÐMà—?‘? 3Ó'ˆØ× Ñ  Ô/Ø"˜ ;Ð/ˆHØˆr   ÚheadersÚmessagesc                 óR   — |€t        d«      }d|› �dddœ}d|v r|d   |d<   i |¥|¥S )NÚSAMBANOVA_API_KEYzBearer zapplication/json)ÚAuthorizationÚacceptzContent-Typer*   r   )	r   r&   r   r'   r   r   r   r   Údefault_headerss	            r   Úvalidate_environmentz-SambaNovaEmbeddingConfig.validate_environment)   sX   € ð ˆ?Ü$Ð%8Ó9ˆGð  ' w iÐ0Ø(Ø.ñ"
ˆð ˜gÑ%Ø/6°Ñ/GˆO˜OÑ,ð .�/Ð- WÐ-Ð-r   c                 ó   — g S )z°
        Non additional params supported, placeholder method for future supported params
        https://docs.sambanova.ai/cloud/api-reference/endpoints/embeddings-api
        r   )r   r   s     r   Úget_supported_openai_paramsz4SambaNovaEmbeddingConfig.get_supported_openai_paramsC   s	   € ð
 ˆ	r   Únon_default_paramsÚdrop_paramsc                 ól   — | j                  |«      }|j                  «       D ]  \  }}||v sŒ|||<   Œ |S )zO
        No transformation is applied - SambaNova is openai compatible
        )r/   Úitems)r   r0   r   r   r1   Úsupported_openai_paramsÚparamÚvalues           r   Úmap_openai_paramsz*SambaNovaEmbeddingConfig.map_openai_paramsJ   sL   € ð *.×)IÑ)IÈ%Ó)PÐØ.×4Ñ4Ó6ò 	/‰LˆE�5ØÐ/Ò/Ø).� Ò&ð	/ð Ðr   Úinputc                 ó   — ||dœ|¥S )N)r8   r   r   )r   r   r8   r   r&   s        r   Útransform_embedding_requestz4SambaNovaEmbeddingConfig.transform_embedding_requestZ   s   € ð Øñ
ð ð
ð 	
r   Úraw_responseÚmodel_responseÚlogging_objÚrequest_datac	                 óÆ  — 	 |j                  «       }	|	j                  d«      |_        |	j                  d«      |_        |	j                  d«      |_	        t        |	j                  di «      j                  dd«      |	j                  di «      j                  dd«      ¬	«      }
|
|_        |S # t        $ r- t        |j                  |j                  |j
                  ¬«      ‚w xY w)
N©ÚmessageÚstatus_coder&   r   ÚdataÚobjectÚusageÚprompt_tokensr   Útotal_tokens)rF   rG   )ÚjsonÚ	Exceptionr   ÚtextrB   r&   Úgetr   rC   rD   r   rE   )r   r   r;   r<   r=   r   r>   r   r   Úraw_response_jsonrE   s              r   Útransform_embedding_responsez5SambaNovaEmbeddingConfig.transform_embedding_responseg   sà   € ð	Ø'3×'8Ñ'8Ó':Ðð  1×4Ñ4°WÓ=ˆÔØ/×3Ñ3°FÓ;ˆÔØ 1× 5Ñ 5°hÓ ?ˆÔäØ+×/Ñ/°¸Ó<×@Ñ@ÀÐRSÓTØ*×.Ñ.¨w¸Ó;×?Ñ?ÀÐPQÓRô
ˆð
  %ˆÔØÐøô# ò 	Ü Ø$×)Ñ)Ø(×4Ñ4Ø$×,Ñ,ôð ð	ús   ‚B* Â*6C Úerror_messagerB   c                 ó   — t        |||¬«      S )Nr@   r   )r   rN   rB   r&   s       r   Úget_error_classz(SambaNovaEmbeddingConfig.get_error_class‡   s   € Ü mÀÐV]Ô^Ð^r   )r   Nr   )NN)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚdictÚboolr%   Úlistr
   r-   r/   r7   r	   r:   ÚhttpxÚResponser   ÚLiteLLMLoggingObjrM   ÚintÚHeadersr   rP   r   r   r   r   r      sÏ  „ óð #ñà˜‘*ðð �t‘ðð ð	ð
 ðð ðð �t‘ðð 
óð0 #Ø#ñ.àð.ð ð.ð Ð'Ñ(ð	.ð
 ð.ð ð.ð �t‘ð.ð ˜‘*ð.ð 
ó.ð4°ó ðà ðð ðð ð	ð
 óð 
àð
ð 'ð
ð ð	
ð
 ð
ð 
ó
ðàðð —n‘nðð *ð	ð
 'ðð �t‘ðð ðð ðð ðð 
óð@_¨Sð _¸sð _ÈTÐTY×TaÑTaÑMað _Ðfvô _r   r   )Ú__doc__Útypingr   rX   Ú*litellm.litellm_core_utils.litellm_loggingr   rZ   Ú)litellm.llms.base_llm.chat.transformationr   Ú.litellm.llms.base_llm.embedding.transformationr   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.openair	   r
   Úlitellm.types.utilsr   r   Úcommon_utilsr   r   r   r   r   ú<module>rf      s8   ðñõ
 ã å SÝ FÝ NÝ 7ß Oß 8å )ôt_Ð2õ t_r   