Ë
    uPêjl  ã                   ó@   — d Z ddlmZ ddlmZ ddlmZ  G d„ d«      Zy)z›
Transformation logic from OpenAI /v1/embeddings format to Bedrock Cohere /invoke format.

Why separate file? Make it easy to see how transformation works
é    )ÚFinal)ÚCohereEmbeddingConfig)ÚCohereEmbeddingRequestc                   óh   — e Zd Zdd„Zdee   fd„Zdededefd„Zdede	fd	„Z
ded
ee   dedefd„Zy)ÚBedrockCohereEmbeddingConfigÚreturnNc                  ó   — y )N© ©Úselfs    úu/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/bedrock/embed/cohere_transformation.pyÚ__init__z%BedrockCohereEmbeddingConfig.__init__   s   € Øó    c                 ó
   — ddgS )NÚencoding_formatÚ
dimensionsr
   r   s    r   Úget_supported_openai_paramsz8BedrockCohereEmbeddingConfig.get_supported_openai_params   s   € Ø! <Ð0Ð0r   Únon_default_paramsÚoptional_paramsc                 óÎ   — |j                  «       D ]L  \  }}|dk(  r7t        |t        «      rt        |«      n|fD �cg c]  }|dk(  rdn|‘Œ c}|d<   ŒB|dk(  sŒH||d<   ŒN |S c c}w )Nr   Úbase64ÚfloatÚembedding_typesr   Úoutput_dimension)ÚitemsÚ
isinstanceÚlistÚtuple)r   r   r   ÚkÚvÚfmts         r   Úmap_openai_paramsz.BedrockCohereEmbeddingConfig.map_openai_params   s„   € Ø&×,Ñ,Ó.ò 	8‰DˆAˆqØÐ%Ò%äPZÐ[\Ô^bÔPcÄEÈ!ÄHÐjkÐimö6Ø<?˜s hš‘G°CÑ7ò6�Ð 1Ò2ð �lÓ"Ø67�Ð 2Ò3ð	8ð Ðùò6s   ¼A"Úmodelc                 ó
   — d|v S )NÚ3r
   )r   r#   s     r   Ú_is_v3_modelz)BedrockCohereEmbeddingConfig._is_v3_model   s   € Ø�eˆ|Ðr   ÚinputÚinference_paramsc                 óž   — t        «       j                  |||«      }t        |d   ¬«      }t        j                  D ]  }||v sŒ||   ||<   Œ |S )NÚ
input_type)r*   )r   Ú_transform_requestr   Ú__annotations__)r   r#   r'   r(   Útransformed_requestÚnew_transformed_requestr   s          r   r+   z/BedrockCohereEmbeddingConfig._transform_request!   sj   € Ü%:Ó%<×%OÑ%OÐPUÐW\Ð^nÓ%oÐä)?Ø*¨<Ñ8ô*
Ðô (×7Ñ7ò 	DˆAØÐ'Ò'Ø-@ÀÑ-CÐ'¨Ò*ð	Dð 'Ð&r   )r   N)Ú__name__Ú
__module__Ú__qualname__r   r   Ústrr   Údictr"   Úboolr&   r   r+   r
   r   r   r   r      sl   „ óð1¨T°#©Yó 1ð°Dð È4ð ÐTXó ð #ð ¨$ó ð
'¨ð 
'°D¸±Ið 
'ÐQUð 
'ÐZpô 
'r   r   N)Ú__doc__Útypingr   Ú(litellm.llms.cohere.embed.transformationr   Úlitellm.types.llms.bedrockr   r   r
   r   r   ú<module>r9      s   ðñõ å JÝ =÷'ò 'r   