Ë
    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)z4
CometAPI Embedding API support - OpenAI compatible
é    )ÚFinalN)ÚLogging)ÚBaseLLMException)ÚBaseEmbeddingConfig©Úget_secret_str)ÚAllEmbeddingInputValuesÚAllMessageValues)ÚEmbeddingResponseÚUsageé   ©ÚCometAPIExceptionc                   óX  — 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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	e   fd„Zde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) ÚCometAPIEmbeddingConfigzØ
    Configuration class for CometAPI Embedding API.

    Since CometAPI is OpenAI-compatible, this class provides OpenAI-standard
    embedding functionality with CometAPI-specific authentication and endpoints.
    ÚreturnNc                  ó   — y ©N© )Úselfs    úo/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/cometapi/embed/transformation.pyÚ__init__z CometAPIEmbeddingConfig.__init__   s   € Øó    Úapi_baseÚapi_keyÚmodelÚoptional_paramsÚlitellm_paramsÚstreamc                 ó:   — |€dn|j                  d«      }|› d�}|S )zK
        Get the complete URL for the CometAPI embedding endpoint.
        zhttps://api.cometapi.com/v1ú/z/embeddings)Úrstrip)r   r   r   r   r   r   r   Úcomplete_urls           r   Úget_complete_urlz(CometAPIEmbeddingConfig.get_complete_url   s-   € ð 5=Ð4DÑ0È(Ï/É/ÐZ]ÓJ^ˆØ!) 
¨+Ð6ˆØÐr   ÚheadersÚmessagesc                 óR   — |€t        d«      }d|› �dddœ}d|v r|d   |d<   i |¥|¥S )zJ
        Validate and set up authentication headers for CometAPI.
        ÚCOMETAPI_KEYzBearer zapplication/json)ÚAuthorizationÚacceptzContent-Typer)   r   )	r   r%   r   r&   r   r   r   r   Údefault_headerss	            r   Úvalidate_environmentz,CometAPIEmbeddingConfig.validate_environment.   sU   € ð ˆ?Ü$ ^Ó4ˆGð  ' w iÐ0Ø(Ø.ñ"
ˆð ˜gÑ%Ø/6°Ñ/GˆO˜OÑ,à-�/Ð- WÐ-Ð-r   c                 ó
   — g d¢S )z�
        Get the supported OpenAI parameters for embedding requests.
        CometAPI supports standard OpenAI embedding parameters.
        )Ú
dimensionsÚencoding_formatÚuserr   )r   r   s     r   Úget_supported_openai_paramsz3CometAPIEmbeddingConfig.get_supported_openai_paramsI   s   € ò

ð 	
r   Únon_default_paramsÚdrop_paramsc                 ól   — | j                  |«      }|j                  «       D ]  \  }}||v sŒ|||<   Œ |S )z;
        Map OpenAI parameters to CometAPI format.
        )r1   Úitems)r   r2   r   r   r3   Úsupported_openai_paramsÚparamÚvalues           r   Úmap_openai_paramsz)CometAPIEmbeddingConfig.map_openai_paramsT   sL   € ð *.×)IÑ)IÈ%Ó)PÐØ.×4Ñ4Ó6ò 	/‰LˆE�5ØÐ/Ò/Ø).� Ò&ð	/ð Ðr   Úinputc                 ó   — ||dœ|¥S )zG
        Transform the embedding request into CometAPI format.
        )r:   r   r   )r   r   r:   r   r%   s        r   Útransform_embedding_requestz3CometAPIEmbeddingConfig.transform_embedding_requestd   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)
zU
        Transform CometAPI response into standard EmbeddingResponse format.
        ©ÚmessageÚstatus_coder%   r   ÚdataÚobjectÚusageÚprompt_tokensr   Útotal_tokens)rH   rI   )ÚjsonÚ	Exceptionr   ÚtextrD   r%   Úgetr   rE   rF   r   rG   )r   r   r=   r>   r?   r   r@   r   r   Úraw_response_jsonrG   s              r   Útransform_embedding_responsez4CometAPIEmbeddingConfig.transform_embedding_responsep   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_messagerD   c                 ó   — t        |||¬«      S )zJ
        Get the appropriate error class for CometAPI exceptions.
        rB   r   )r   rP   rD   r%   s       r   Úget_error_classz'CometAPIEmbeddingConfig.get_error_class“   s   € ô !¨ÀKÐY`ÔaÐar   )r   Nr   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚdictÚboolr$   Úlistr
   r,   r1   r9   r	   r<   ÚhttpxÚResponser   ÚLiteLLMLoggingObjrO   ÚintÚHeadersr   rR   r   r   r   r   r      sï  „ ñóð #ñà˜‘*ðð �t‘ðð ð	ð
 ðð ðð �t‘ðð 
óð. #Ø#ñ.àð.ð ð.ð Ð'Ñ(ð	.ð
 ð.ð ð.ð �t‘ð.ð ˜‘*ð.ð 
ó.ð6	
°ð 	
¸¸c¹ó 	
ðà ðð ðð ð	ð
 ðð 
óð 
Càð
Cð 'ð
Cð ð	
Cð
 ð
Cð 
ó
Cð!àð!ð —n‘nð!ð *ð	!ð
 'ð!ð �t‘ð!ð ð!ð ð!ð ð!ð 
ó!ðFb¨Sð b¸sð bÈTÐTY×TaÑTaÑMað bÐfvô br   r   )rV   Útypingr   r[   Ú*litellm.litellm_core_utils.litellm_loggingr   r]   Ú)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>rh      s8   ðñõ ã å SÝ FÝ NÝ 7ß Oß 8å ,ôDbÐ1õ Dbr   