
    hg                     F    d Z ddlmZmZ ddlmZ ddlmZ  G d de      Zy)	zS
Translate from OpenAI's `/v1/chat/completions` to LM Studio's `/chat/completions`
    )OptionalTupleget_secret_str   )OpenAIGPTConfigc            
       j     e Zd Zdee   dee   deee   ee   f   fdZdededededef
 fd	Z	 xZ
S )
LMStudioChatConfigapi_baseapi_keyreturnc                 N    |xs t        d      }|xs t        d      xs d}||fS )NLM_STUDIO_API_BASELM_STUDIO_API_KEY r   )selfr   r   dynamic_api_keys       f/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/lm_studio/chat/transformation.py$_get_openai_compatible_provider_infoz7LMStudioChatConfig._get_openai_compatible_provider_info   s9     C~.BCA~&9:Ac 	 ((    non_default_paramsoptional_paramsmodeldrop_paramsc                    t        |j                               D ]  \  }}|dk(  st        |t              s|j	                  d      dk(  r:d|vrd|v rdd|j	                  d      id|d<   n||d<   |j                  |d        k|j	                  d      dk(  s||d<   |j                  |d         t        |   ||||      S )Nresponse_formattypejson_schemaschema)r   r   json_object)r   r   r   r   )listitems
isinstancedictgetpopsupermap_openai_params)r   r   r   r   r   paramvalue	__class__s          r   r(   z$LMStudioChatConfig.map_openai_params   s     !!3!9!9!;<LE5))j.E99V$5$E1h%6G$1,4eii6I+J>(9:
 >C(9:&**5$7YYv&-79>O$56&**5$7 = w(1+#	 ) 
 	
r   )__name__
__module____qualname__r   strr   r   r$   boolr(   __classcell__)r+   s   @r   r
   r
      st    ) )08)	x}hsm+	,)
 
 
 	

 
 

 
r   r
   N)	__doc__typingr   r   litellm.secret_managers.mainr   openai.chat.gpt_transformationr   r
    r   r   <module>r7      s!    # 7 =%
 %
r   