o
    Æ°i~  ã                   @   s<   d dl mZmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )ÚOptionalÚTuple)ÚOpenAIGPTConfig©Úget_secret_strc                	   @   sª   e Zd ZdZdZedee fdd„ƒZe	ddee dee fdd	„ƒZ
e	dd
ee dee fdd„ƒZd
ee dee deee ee f fdd„Zdedefdd„ZdS )ÚNscaleConfigz‡
    Reference: Nscale is OpenAI compatible.
    API Key: NSCALE_API_KEY
    Default API Base: https://inference.api.nscale.com/v1
    z#https://inference.api.nscale.com/v1Úreturnc                 C   s   dS )NZnscale© )Úselfr	   r	   ú^/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/nscale/chat/transformation.pyÚcustom_llm_provider   s   z NscaleConfig.custom_llm_providerNÚapi_keyc                 C   s   | pt dƒS )NZNSCALE_API_KEYr   )r   r	   r	   r   Úget_api_key   s   zNscaleConfig.get_api_keyÚapi_basec                 C   s   | pt dƒptjS )NZNSCALE_API_BASE)r   r   ÚAPI_BASE_URL)r   r	   r	   r   Úget_api_base   s   ÿzNscaleConfig.get_api_basec                 C   s   t  |¡}t  |¡}||fS ©N)r   r   r   )r
   r   r   Zresolved_api_baseZresolved_api_keyr	   r	   r   Ú$_get_openai_compatible_provider_info   s   

z1NscaleConfig._get_openai_compatible_provider_infoÚmodelc                 C   s   g d¢S )N)Z
max_tokensÚnZtemperatureZtop_pÚstreamZlogprobsZtop_logprobsZfrequency_penaltyZpresence_penaltyZresponse_formatÚstopZ
logit_biasr	   )r
   r   r	   r	   r   Úget_supported_openai_params&   s   z(NscaleConfig.get_supported_openai_paramsr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Ústrr   Ústaticmethodr   r   r   r   Úlistr   r	   r	   r	   r   r      s"    ÿÿ
þr   N)Útypingr   r   Z+litellm.llms.openai.chat.gpt_transformationr   Zlitellm.secret_managers.mainr   r   r	   r	   r	   r   Ú<module>   s    