
    h%                     *    d Z ddlmZ  G d de      Zy)z
Nvidia NIM endpoint: https://docs.api.nvidia.com/nim/reference/databricks-dbrx-instruct-infer 

This is OpenAI compatible 

This file only contains param mapping logic

API calling is done using the OpenAI SDK with an api_base
    )OpenAIGPTConfigc            
       <    e Zd ZdZdedefdZdededededef
dZ	y	)
NvidiaNimConfigz
    Reference: https://docs.api.nvidia.com/nim/reference/databricks-dbrx-instruct-infer

    The class `NvidiaNimConfig` provides configuration for the Nvidia NIM's Chat Completions API interface. Below are the parameters:
    modelreturnc                 L    |dv rg dS |dk(  rg dS |dk(  rdgS |dv rg dS g d	S )
z
        Get the supported OpenAI params for the given model


        Updated on July 5th, 2024 - based on https://docs.api.nvidia.com/nim/reference
        )zgoogle/recurrentgemma-2bzgoogle/gemma-2-27b-itzgoogle/gemma-2-9b-itzgemma-2-9b-it)streamtemperaturetop_p
max_tokensstopseedznvidia/nemotron-4-340b-instruct)r	   r
   r   r   max_completion_tokensznvidia/nemotron-4-340b-rewardr	   )zgoogle/codegemma-1.1-7b)r	   r
   r   frequency_penaltypresence_penaltyr   r   r   )r	   r
   r   r   r   r   r   r   r   toolstool_choiceparallel_tool_callsresponse_format )selfr   s     g/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/nvidia_nim/chat/transformation.pyget_supported_openai_paramsz+NvidiaNimConfig.get_supported_openai_params   se      
 
 TS77  55  11	 	B     non_default_paramsoptional_paramsdrop_paramsc                     | j                  |      }|j                         D ]  \  }}|dk(  r||d<   ||v s|||<    |S )N)r   r   r   )r   items)r   r   r   r   r   supported_openai_paramsparamvalues           r   map_openai_paramsz!NvidiaNimConfig.map_openai_paramsa   s]     #'"B"B"B"O.446LE5//05-11).&	 7
 r   N)
__name__
__module____qualname____doc__strlistr   dictboolr#   r   r   r   r   r      sS    K K KZ   	
  
r   r   N)r'   +litellm.llms.openai.chat.gpt_transformationr   r   r   r   r   <module>r-      s    Hao ar   