
    g                     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                         D ]%  \  }}|dk7  s|t        | j                  ||       ' y )Nself)localsitemssetattr	__class__)r   locals_keyvalues       `/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/lm_studio/embed/transformation.py__init__z LmStudioEmbeddingConfig.__init__   s;     (!--/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   sy     **,
,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>r0      s     % %r   