
    g                     J    d Z ddlmZmZmZ ddlmZ ddlmZ  G d de      Z	y)	zQ
Translate from OpenAI's `/v1/chat/completions` to VLLM's `/v1/chat/completions`
    )ListOptionalTupleget_secret_str   )OpenAIGPTConfigc            	       x     e Zd Zdee   dee   deee   ee   f   fdZ	 ddee   dee   dee   f fdZ xZ	S )LiteLLMProxyChatConfigapi_baseapi_keyreturnc                 F    |xs t        d      }|xs t        d      }||fS )NLITELLM_PROXY_API_BASELITELLM_PROXY_API_KEYr   )selfr   r   dynamic_api_keys       c/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/litellm_proxy/chat/transformation.py$_get_openai_compatible_provider_infoz;LiteLLMProxyChatConfig._get_openai_compatible_provider_info   s/     G~.FG!L^4K%L((    c                     | j                  ||      \  }}|t        d      t        |   ||      }|D cg c]  }d| 	 c}S c c}w )NzQapi_base not set for LiteLLM Proxy route. Set in env via `LITELLM_PROXY_API_BASE`)r   r   zlitellm_proxy/)r   
ValueErrorsuper
get_models)r   r   r   modelsmodel	__class__s        r   r   z!LiteLLMProxyChatConfig.get_models   sh     !EEhPWX'c  #Gh#G6<=fU.(f===s   A)NN)
__name__
__module____qualname__r   strr   r   r   r   __classcell__)r   s   @r   r   r      so    ) )08)	x}hsm+	,) HL	>}	>7?}	>	c	> 	>r   r   N)
__doc__typingr   r   r   litellm.secret_managers.mainr   openai.chat.gpt_transformationr	   r    r   r   <module>r(      s$    ) ( 7 =>_ >r   