Ë
    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é   ©ÚOVHCloudExceptionc                   ó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)ÚOVHCloudEmbeddingConfigÚreturnNc                  ó   — y ©N© )Úselfs    ús/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/ovhcloud/embedding/transformation.pyÚ__init__z OVHCloudEmbeddingConfig.__init__   s   € Øó    Úapi_baseÚapi_keyÚmodelÚoptional_paramsÚlitellm_paramsÚstreamc                 ó:   — |€dn|j                  d«      }|› d�}|S )Nz0https://oai.endpoints.kepler.ai.cloud.ovh.net/v1ú/z/embeddings)Úrstrip)r   r   r   r   r   r   r   Úcomplete_urls           r   Úget_complete_urlz(OVHCloudEmbeddingConfig.get_complete_url   s2   € ð JRÐIYÑEÐ_g×_nÑ_nÐorÓ_sˆØ!) 
¨+Ð6ˆØÐr   ÚheadersÚmessagesc                 óR   — |€t        d«      }d|› �dddœ}d|v r|d   |d<   i |¥|¥S )NÚOVHCLOUD_API_KEYzBearer zapplication/json)ÚAuthorizationÚacceptzContent-Typer)   r   )	r   r%   r   r&   r   r   r   r   Údefault_headerss	            r   Úvalidate_environmentz,OVHCloudEmbeddingConfig.validate_environment%   sV   € ð ˆ?Ü$Ð%7Ó8ˆGð  ' w iÐ0Ø(Ø.ñ"
ˆð ˜gÑ%Ø/6°Ñ/GˆO˜OÑ,à-�/Ð- WÐ-Ð-r   c                 ó   — g S r   r   )r   r   s     r   Úget_supported_openai_paramsz3OVHCloudEmbeddingConfig.get_supported_openai_params=   s   € Øˆ	r   Únon_default_paramsÚdrop_paramsc                 ól   — | j                  |«      }|j                  «       D ]  \  }}||v sŒ|||<   Œ |S r   )r.   Úitems)r   r/   r   r   r0   Úsupported_openai_paramsÚparamÚvalues           r   Úmap_openai_paramsz)OVHCloudEmbeddingConfig.map_openai_params@   sL   € ð *.×)IÑ)IÈ%Ó)PÐØ.×4Ñ4Ó6ò 	/‰LˆE�5ØÐ/Ò/Ø).� Ò&ð	/ð Ðr   Úinputc                 ó   — ||dœ|¥S )N)r7   r   r   )r   r   r7   r   r%   s        r   Útransform_embedding_requestz3OVHCloudEmbeddingConfig.transform_embedding_requestM   s   € ð ¨ÑB°/ÐBÐBr   Ú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)rE   rF   )ÚjsonÚ	Exceptionr   ÚtextrA   r%   Úgetr   rB   rC   r   rD   )r   r   r:   r;   r<   r   r=   r   r   Úraw_response_jsonrD   s              r   Útransform_embedding_responsez4OVHCloudEmbeddingConfig.transform_embedding_responseV   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_messagerA   c                 ó   — t        |||¬«      S )Nr?   r   )r   rM   rA   r%   s       r   Úget_error_classz'OVHCloudEmbeddingConfig.get_error_classv   s   € Ü ¨ÀKÐY`ÔaÐar   )r   Nr   )NN)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚdictÚboolr$   Úlistr
   r,   r.   r6   r	   r9   ÚhttpxÚResponser   ÚLiteLLMLoggingObjrL   ÚintÚHeadersr   rO   r   r   r   r   r      sÕ  „ óð #ñà˜‘*ðð �t‘ðð ð	ð
 ðð ðð �t‘ðð 
óð( #Ø#ñ.àð.ð ð.ð Ð'Ñ(ð	.ð
 ð.ð ð.ð �t‘ð.ð ˜‘*ð.ð 
ó.ð0°ó ðà ðð ðð ð	ð
 óðCàðCð 'ðCð ð	Cð
 ðCð 
óCðàðð —n‘nðð *ð	ð
 'ðð �t‘ðð ðð ðð ðð 
óð@b¨Sð b¸sð bÈTÐTY×TaÑTaÑMað bÐfvô br   r   )Ú__doc__Útypingr   rW   Ú*litellm.litellm_core_utils.litellm_loggingr   rY   Ú)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   Úutilsr   r   r   r   r   ú<module>re      s8   ðñõ
 ã å SÝ FÝ NÝ 7ß Oß 8å %ôcbÐ1õ cbr   