
    h                     0    d Z ddlZddlmZ  G d d      Zy)z
Transformation logic from OpenAI /v1/embeddings format to LM Studio's  `/v1/embeddings` format. 

Why separate file? Make it easy to see how transformation works

Docs - https://lmstudio.ai/docs/basics/server
    N)Listc                   R    e Zd ZdZ	 	 d
dZed        Zdee   fdZ	de
de
de
fd	Zy)LmStudioEmbeddingConfigz;
    Reference: https://lmstudio.ai/docs/basics/server
    returnNc                     t               j                         }|j                         D ]%  \  }}|dk7  s|t        | j                  ||       ' y )Nself)localscopyitemssetattr	__class__)r   locals_keyvalues       g/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/lm_studio/embed/transformation.py__init__z LmStudioEmbeddingConfig.__init__   sA     (--/!--/JCf}!2U3 *    c                     | j                   j                         D ci c]O  \  }}|j                  d      s9t        |t        j
                  t        j                  t        t        f      s|||Q c}}S c c}}w )N__)	__dict__r   
startswith
isinstancetypesFunctionTypeBuiltinFunctionTypeclassmethodstaticmethod)clskvs      r   
get_configz"LmStudioEmbeddingConfig.get_config   st     **,
1<<%&&-- 	  qD
 	
 
s   AA6c                     g S N )r   s    r   get_supported_openai_paramsz3LmStudioEmbeddingConfig.get_supported_openai_params,   s    	r   non_default_paramsoptional_paramsc                     |S r#   r$   )r   r&   r'   s      r   map_openai_paramsz)LmStudioEmbeddingConfig.map_openai_params/   s
     r   )r   N)__name__
__module____qualname____doc__r   r   r!   r   strr%   dictr)   r$   r   r   r   r      sU    4	4 
 
"T#Y "&9=	r   r   )r-   r   typingr   r   r$   r   r   <module>r1      s     % %r   