Ë
    uPêj·  ã                   ó”   — 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  G d	„ d
e«      Z G d„ de	«      Zy)é    )ÚFinalN)ÚLogging)ÚBaseLLMException)ÚBaseEmbeddingConfig©Úget_secret_str)ÚAllEmbeddingInputValuesÚAllMessageValues)ÚEmbeddingResponseÚUsagec                   óJ   ‡ — e Zd Zi fdededeej                  z  fˆ fd„Zˆ xZ	S )ÚVoyageErrorÚstatus_codeÚmessageÚheadersc                 óÊ   •— || _         || _        t        j                  dd¬«      | _        t        j
                  || j                  ¬«      | _        t        ‰| �!  |||¬«       y )NÚPOSTú&https://api.voyageai.com/v1/embeddings)ÚmethodÚurl)r   Úrequest)r   r   r   )	r   r   ÚhttpxÚRequestr   ÚResponseÚresponseÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/voyage/embedding/transformation.pyr   zVoyageError.__init__   sX   ø€ ð 'ˆÔØˆŒÜ—}‘}¨FÐ8`ÔaˆŒÜŸ™°;ÈÏÉÔUˆŒÜ‰ÑØ#ØØð 	õ 	
ó    )
Ú__name__Ú
__module__Ú__qualname__ÚintÚstrÚdictr   ÚHeadersr   Ú__classcell__)r   s   @r    r   r      s7   ø„ ð
 )+ñ	
àð
ð ð
ð ˜Ÿ™Ñ%÷	
ñ 
r!   r   c                   ó\  — e Zd 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ede	fd„Z
dededede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dedededef
d„Zdi i i f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) ÚVoyageEmbeddingConfigzG
    Reference: https://docs.voyageai.com/reference/embeddings-api
    ÚreturnNc                  ó   — y ©N© )r   s    r    r   zVoyageEmbeddingConfig.__init__$   s   € Ør!   Úapi_baseÚapi_keyÚmodelÚoptional_paramsÚlitellm_paramsÚstreamc                 ó8   — |r|j                  d«      s|› d�}|S y)Nz/embeddingsr   )Úendswith)r   r0   r1   r2   r3   r4   r5   s          r    Úget_complete_urlz&VoyageEmbeddingConfig.get_complete_url'   s)   € ñ Ø×$Ñ$ ]Ô3Ø&˜Z {Ð3�ØˆOØ7r!   c                 ó
   — ddgS )NÚencoding_formatÚ
dimensionsr/   )r   r2   s     r    Úget_supported_openai_paramsz1VoyageEmbeddingConfig.get_supported_openai_params6   s   € àØð
ð 	
r!   Únon_default_paramsÚdrop_paramsc                 ó6   — d|v r|d   |d<   d|v r|d   |d<   |S )z{
        Map OpenAI params to Voyage params

        Reference: https://docs.voyageai.com/reference/embeddings-api
        r:   r;   Úoutput_dimensionr/   )r   r=   r3   r2   r>   s        r    Úmap_openai_paramsz'VoyageEmbeddingConfig.map_openai_params<   s=   € ð Ð 2Ñ2Ø1CÐDUÑ1VˆOÐ-Ñ.ØÐ-Ñ-Ø2DÀ\Ñ2RˆOÐ.Ñ/ØÐr!   r   Úmessagesc                 ó^   — |€%t        d«      xs t        d«      xs t        d«      }dd|› �iS )NÚVOYAGE_API_KEYÚVOYAGE_AI_API_KEYÚVOYAGE_AI_TOKENÚAuthorizationzBearer r   )r   r   r2   rB   r3   r4   r1   r0   s           r    Úvalidate_environmentz*VoyageEmbeddingConfig.validate_environmentN   sK   € ð ˆ?äÐ/Ó0ò 5Ü!Ð"5Ó6ò5ä!Ð"3Ó4ð ð ˜w w iÐ0ð
ð 	
r!   Úinputc                 ó   — ||dœ|¥S )N)rI   r2   r/   )r   r2   rI   r3   r   s        r    Útransform_embedding_requestz1VoyageEmbeddingConfig.transform_embedding_requestb   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                  ¬«      ‚w xY w)	N)r   r   r2   ÚdataÚobjectÚusageÚtotal_tokensr   )Úprompt_tokensrT   )ÚjsonÚ	Exceptionr   Útextr   Úgetr2   rQ   rR   r   rS   )r   r2   rL   rM   rN   r1   rO   r3   r4   Úraw_response_jsonrS   s              r    Útransform_embedding_responsez2VoyageEmbeddingConfig.transform_embedding_responseo   sÔ   € ð	_Ø'3×'8Ñ'8Ó':Ðð
  1×4Ñ4°WÓ=ˆÔØ/×3Ñ3°FÓ;ˆÔØ 1× 5Ñ 5°hÓ ?ˆÔäØ+×/Ñ/°¸Ó<×@Ñ@ÀÐQRÓSØ*×.Ñ.¨w¸Ó;×?Ñ?ÀÐPQÓRô
ˆð  %ˆÔØÐøô ò 	_Ü l×&7Ñ&7À\×E]ÑE]Ô^Ð^ð	_ús   ‚B* Â*+CÚerror_messager   c                 ó   — t        |||¬«      S )N)r   r   r   )r   )r   r\   r   r   s       r    Úget_error_classz%VoyageEmbeddingConfig.get_error_class‹   s   € Ü =¸kÐSZÔ[Ð[r!   )r,   Nr.   )NN)r"   r#   r$   Ú__doc__r   r&   r'   Úboolr8   Úlistr<   rA   r
   rH   r	   rK   r   r   r   ÚLiteLLMLoggingObjr[   r%   r(   r   r^   r/   r!   r    r+   r+      sò  „ ñóð #ñ8à˜‘*ð8ð �t‘ð8ð ð	8ð
 ð8ð ð8ð �t‘ð8ð 
ó8ð
°ð 
¸ó 
ðà ðð ðð ð	ð
 ðð 
óð2 #Ø#ñ
àð
ð ð
ð Ð'Ñ(ð	
ð
 ð
ð ð
ð �t‘ð
ð ˜‘*ð
ð 
ó
ð(
àð
ð 'ð
ð ð	
ð
 ð
ð 
ó
ð& #ØØ "Ø!ñàðð —n‘nðð *ð	ð
 'ðð �t‘ðð ðð ðð ðð 
óð8\¨Sð \¸sð \ÈTÐTY×TaÑTaÑMað \Ðfvô \r!   r+   )Útypingr   r   Ú*litellm.litellm_core_utils.litellm_loggingr   rb   Ú)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   r   r+   r/   r!   r    ú<module>rj      s;   ðÝ ã å SÝ FÝ NÝ 7ß Oß 8ô
Ð"ô 
ô$m\Ð/õ m\r!   