Ë
    uPêj†  ã                   óŠ  — d Z ddlmZ ddlmZmZ ddlZddlmZm	Z	 ddl
mZm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  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ d e«      Z d!e!d"e!fd#„Z" G d$„ d%e«      Z#y)&zN
Translates from OpenAI's `/v1/embeddings` to IBM's `/text/embeddings` route.
é    )Úcached_property)ÚFinalÚLiteralN)Ú	BaseModelÚField)ÚBaseEmbeddingConfigÚLiteLLMLoggingObj)ÚMaskingModuleConfig)ÚAllEmbeddingInputValues)ÚEmbeddingResponseé   ©ÚGenAIHubOrchestrationError)Úget_token_creatorc                   ó"   — e Zd ZU eed<   eed<   y)ÚUsageÚprompt_tokensÚtotal_tokensN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__© ó    új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/sap/embed/transformation.pyr   r      s   … ØÓØÔr   r   c                   óL   — e Zd ZU ed   ed<    edd¬«      Zee   ed<   e	ed<   y)ÚEmbeddingItemÚ	embeddingÚobject.z*Vector of floats (length varies by model).)ÚdescriptionÚindexN)
r   r   r   r   r   r   r   ÚlistÚfloatr   r   r   r   r   r      s(   … Ø�KÑ Ó Ù" 3Ð4`Ôa€Iˆt�E‰{ÓaØ„Jr   r   c                   óB   — e Zd ZU ed   ed<   ee   ed<   eed<   eed<   y)ÚFinalResultr#   r    ÚdataÚmodelÚusageN)	r   r   r   r   r   r#   r   Ústrr   r   r   r   r&   r&   "   s!   … Ø�F‰OÓØ
ˆ}Ñ
ÓØƒJØ„Lr   r&   c                   ó"   — e Zd ZU eed<   eed<   y)ÚEmbeddingsResponseÚ
request_idÚfinal_resultN)r   r   r   r*   r   r&   r   r   r   r,   r,   )   s   … ØƒOØÔr   r,   c                   óŽ   — e Zd ZU eed<   dZeed<    ee¬«      Zeed<    eddd¬	«      Z	e
dz  ed
<    eddd¬	«      Ze
dz  ed<   y)ÚEmbeddingModelÚnameÚlatestÚversion)Údefault_factoryÚparamsNé   iX  )ÚdefaultÚgeÚleÚtimeoutr   é   Úmax_retries)r   r   r   r*   r   r3   r   Údictr5   r:   r   r<   r   r   r   r0   r0   .   sN   … Ø
ƒIØ€GˆSÓÙ¨Ô.€FˆDÓ.Ù¨°°sÔ;€GˆS�4‰ZÓ;Ù#¨D°Q¸1Ô=€K��t‘Ô=r   r0   c                   ó   — e Zd ZU eed<   y)ÚEmbeddingsModelConfigr(   N)r   r   r   r0   r   r   r   r   r?   r?   6   s   … ØÔr   r?   c                   ó,   — e Zd ZU eed<   dZedz  ed<   y)ÚEmbeddingsModulesÚ
embeddingsNÚmasking)r   r   r   r?   r   rC   r
   r   r   r   rA   rA   :   s   … Ø%Ó%Ø*.€GÐ  4Ñ'Ô.r   rA   c                   ó>   — e Zd ZU eee   z  ed<   dZed   dz  ed<   y)ÚEmbeddingInputÚtextN)rF   ÚdocumentÚqueryÚtype)r   r   r   r*   r#   r   rI   r   r   r   r   rE   rE   ?   s%   … Ø
��S‘	‰/ÓØ8<€Dˆ'Ð-Ñ
.°Ñ
5Ô<r   rE   c                   ó   — e Zd ZU eed<   y)ÚEmbeddingConfigÚmodulesN)r   r   r   rA   r   r   r   r   rK   rK   D   s   … ØÔr   rK   c                   ó"   — e Zd ZU eed<   eed<   y)ÚEmbeddingRequestÚconfigÚinputN)r   r   r   rK   r   rE   r   r   r   rN   rN   H   s   … ØÓØÔr   rN   r'   Úreturnc                 ó4   —  |di | ¤Žj                  dd¬«      S )NT)Úexclude_unsetÚby_aliasr   )Ú
model_dump)r'   r(   s     r   Úvalidate_dictrV   M   s   € Ù‰=�4‰=×#Ñ#°$ÀÐ#ÓFÐFr   c                   ó(  ‡ — e Zd Zˆ fd„Zedefd„«       Zedefd„«       Z	d„ Z
dedefd„Zded	eded
edef
d„Zdedef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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ˆ xZS )ÚGenAIHubEmbeddingConfigc                 ój   •— t         ‰| �  «        i | _        t        «       \  | _        | _        | _        y ©N)ÚsuperÚ__init__Ú_access_token_datar   Útoken_creatorÚbase_urlÚresource_group)ÚselfÚ	__class__s    €r   r\   z GenAIHubEmbeddingConfig.__init__R   s-   ø€ Ü‰ÑÔØ"$ˆÔÜARÓATÑ>ˆÔ˜DœM¨4Õ+>r   rQ   c                 óH   — | j                  «       }|| j                  dddœ}|S )Nzapplication/jsonÚLiteLLM)ÚAuthorizationzAI-Resource-GroupzContent-TypezAI-Client-Type)r^   r`   )ra   Úaccess_tokenÚheaderss      r   rg   zGenAIHubEmbeddingConfig.headersW   s2   € à"×0Ñ0Ó2ˆð *Ø!%×!4Ñ!4Ø.Ø'ñ	
ˆð ˆr   c                 óø  — t        j                  d¬«      5 }g }|j                  | j                  dz   | j                  ¬«      j                  «       }|j                  dg «      D ]k  }|d   dk(  sŒ|j                  | j                  d|d	   › �z   | j                  ¬«      j                  «       }|d
   dk(  sŒS|j                  |d   |d   f«       Œm t        |d„ d¬«      d   d   cd d d «       S # 1 sw Y   y xY w)Né   )r:   z/lm/deployments©rg   Ú	resourcesÚ
scenarioIdÚorchestrationz/lm/configurations/ÚconfigurationIdÚexecutableIdÚdeploymentUrlÚ	createdAtc                 ó   — | d   S )Nr6   r   )Úxs    r   ú<lambda>z8GenAIHubEmbeddingConfig.deployment_url.<locals>.<lambda>p   s
   € ¸1¸Q¹4€ r   T)ÚkeyÚreverser   )ÚhttpxÚClientÚgetr_   rg   ÚjsonÚappendÚsorted)ra   ÚclientÚvalid_deploymentsÚdeploymentsÚ
deploymentÚconfig_detailss         r   Údeployment_urlz&GenAIHubEmbeddingConfig.deployment_urlc   s  € ä�\‰\ "Ô%ð 	U¨Ø')ÐØ!'§¡¨D¯M©MÐ<MÑ,MÐW[×WcÑWc Ó!d×!iÑ!iÓ!kˆKØ)Ÿo™o¨k¸2Ó>ò i�
Ø˜lÑ+¨Ó>Ø%+§Z¡ZØŸ™Ð*=¸jÐIZÑ>[Ð=\Ð(]Ñ]Ø $§¡ð &0ó &÷ ‘d“fð #ð & nÑ5¸ÓHØ)×0Ñ0°*¸_Ñ2MÈzÐZeÑOfÐ1gÕhðiô Ð+±ÈÔNÈqÑQÐRSÑT÷	U÷ 	Uò 	Uús   —AC0Á0AC0Â7/C0Ã0C9c                 ó   — t        ||«      S rZ   r   )ra   Úerror_messageÚstatus_coderg   s       r   Úget_error_classz'GenAIHubEmbeddingConfig.get_error_classr   s   € Ü)¨+°}ÓEÐEr   r(   c                 ó   — d|v rddgS dgS )Nztext-embedding-3Úencoding_formatÚ
dimensionsr   )ra   r(   s     r   Úget_supported_openai_paramsz3GenAIHubEmbeddingConfig.get_supported_openai_paramsu   s$   € Ø Ñ&Ø% |Ð4Ð4ð "ðð r   Únon_default_paramsÚoptional_paramsÚdrop_paramsc                 ó   — |S rZ   r   )ra   r‹   rŒ   r(   r�   s        r   Úmap_openai_paramsz)GenAIHubEmbeddingConfig.map_openai_params}   s
   € ð Ðr   rg   c                 ó   — | j                   S rZ   rj   )ra   rg   ÚargsÚkwargss       r   Úvalidate_environmentz,GenAIHubEmbeddingConfig.validate_environment†   s   € Ø�|‰|Ðr   NÚapi_baseÚapi_keyÚlitellm_paramsÚstreamc                 óB   — | j                   j                  d«      dz   }|S )Nú/z/v2/embeddings)r‚   Úrstrip)ra   r”   r•   r(   rŒ   r–   r—   Úurls           r   Úget_complete_urlz(GenAIHubEmbeddingConfig.get_complete_url‰   s%   € ð ×(Ñ(×/Ñ/°Ó4Ð7GÑGˆØˆ
r   rP   c                 óp  — i }||d<   |j                  dd«      |d<   |j                  di «      |d<   |j                  dd «      }|�||d<   |j                  dd «      }|�||d<   d|i}|j                  d	«      }	|	�|	|d	<   |j                  d
«      }
|
�d
|
ini }
ddd|ii|
¥i|dœ}t        |t        «      }|S )Nr1   r3   r2   Ú
parametersr5   r:   r<   rF   rI   rC   rL   rB   r(   )rO   rP   )ry   rV   rN   )ra   r(   rP   rŒ   rg   Ú
model_dictr:   r<   Ú
input_dictÚ
input_typerC   Úbodys               r   Útransform_embedding_requestz3GenAIHubEmbeddingConfig.transform_embedding_request•   s  € ð ˆ
Ø"ˆ
�6ÑØ /× 3Ñ 3°I¸xÓ Hˆ
�9ÑØ.×2Ñ2°<ÀÓDˆ
�8ÑØ(×,Ñ,¨Y¸Ó=ˆØÐØ$+ˆJ�yÑ!Ø,×0Ñ0°ÀÓEˆØÐ"Ø(3ˆJ�}Ñ%Ø# U˜Oˆ
Ø+×/Ñ/°Ó7ˆ
ØÐ!Ø!+ˆJ�vÑØ!×%Ñ% iÓ0ˆØ*1Ð*=�9˜gÑ&À2ˆà  <°'¸:Ð1FÐ"RÈ'Ð"RÐSØñ
ˆô ˜TÔ#3Ó4ˆØˆr   Úraw_responseÚmodel_responseÚlogging_objÚrequest_datac	                 óN   — t        j                  |j                  «       d   «      S )Nr.   )r   Úmodel_validaterz   )	ra   r(   r¤   r¥   r¦   r•   r§   rŒ   r–   s	            r   Útransform_embedding_responsez4GenAIHubEmbeddingConfig.transform_embedding_response³   s#   € ô !×/Ñ/°×0AÑ0AÓ0CÀNÑ0SÓTÐTr   rZ   )r   r   r   r\   Úpropertyr=   rg   r   r*   r‚   r†   r#   rŠ   Úboolr�   r“   rœ   r   r£   rw   ÚResponser   r	   rª   Ú__classcell__)rb   s   @r   rX   rX   Q   s¡  ø„ ôUð
 ð	˜ò 	ó ð	ð ðU ò Uó ðUòFð°ð ¸ó ðà ðð ðð ð	ð
 ðð 
óð¨Dð Àdó ð #ñ
à˜‘*ð
ð �t‘ð
ð ð	
ð
 ð
ð ð
ð �t‘ð
ð 
ó
ðàðð 'ðð ð	ð
 ðð 
óð<UàðUð —n‘nðUð *ð	Uð
 'ðUð �t‘ðUð ðUð ðUð ðUð 
÷Ur   rX   )$Ú__doc__Ú	functoolsr   Útypingr   r   rw   Úpydanticr   r   Ú.litellm.llms.base_llm.embedding.transformationr   r	   Úlitellm.llms.sap.chat.modelsr
   Úlitellm.types.llms.openair   Úlitellm.types.utilsr   Úchat.handlerr   Úcredentialsr   r   r   r&   r,   r0   r?   rA   rE   rK   rN   r=   rV   rX   r   r   r   ú<module>r¹      sÍ   ðñõ &ß !ã ß %÷õ =Ý =Ý 1å 5Ý +ôˆIô ô
�Iô ô�)ô ô˜ô ô
>�Yô >ô˜Iô ô/˜	ô /ô
=�Yô =ô
�iô ô�yô ð
G˜ð G¨ó GômUÐ1õ mUr   