
    ^h                     :    S r SSKJrJr  SSKJr   " S S\5      rg)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
    )OptionalUnion)OpenAIGPTConfigc                   N  ^  \ rS rSr% SrSr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\\\4      \S	'         SS\\   S\\   S\\   S\\   S\\   S	\\\\4      S
S4S jjr\U 4S j5       rS\S
\4S jrS\S\S\S\S
\4
S jrSrU =r$ )NvidiaNimConfig   z
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:
Ntemperaturetop_pfrequency_penaltypresence_penalty
max_tokensstopreturnc                     [        5       R                  5       nUR                  5        H(  u  pUS:w  d  M  U	c  M  [        U R                  X5        M*     g )Nself)localscopyitemssetattr	__class__)
r   r	   r
   r   r   r   r   locals_keyvalues
             V/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/nvidia_nim/chat.py__init__NvidiaNimConfig.__init__   s=     (--/!--/JCf}!23 *    c                     > [         TU ]  5       $ )N)super
get_config)clsr   s    r   r    NvidiaNimConfig.get_config,   s    w!##r   modelc                 X    US;   a  / SQ$ US:X  a  / SQ$ US:X  a  S/$ US;   a  / SQ$ / S	Q$ )
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)streamr	   r
   r   r   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
   r   r   r   r'   r   )	r%   r	   r
   r   r   r   r'   r   r&    )r   r#   s     r   get_supported_openai_params+NvidiaNimConfig.get_supported_openai_params0   se      
 
 TS77  55  11	 	B
 
r   non_default_paramsoptional_paramsdrop_paramsc                     U R                  US9nUR                  5        H  u  pgUS:X  a  XrS'   M  Xe;   d  M  XrU'   M     U$ )N)r#   r'   r   )r)   r   )r   r+   r,   r#   r-   supported_openai_paramsparamr   s           r   map_openai_params!NvidiaNimConfig.map_openai_paramsy   sT     #'"B"B"B"O.446LE//05-1).&	 7
 r   r(   )NNNNNN)__name__
__module____qualname____firstlineno____doc__r	   r   int__annotations__r
   r   r   r   r   r   strlistr   classmethodr    r)   dictboolr1   __static_attributes____classcell__)r   s   @r   r   r      sN    "&K#%E8C='+x}+&*hsm* $J$'+D(5d#
$+ &*#+/*.$(+/4c]4 }4 $C=	4
 #3-4 SM4 uS$Y'(4 
4 $ $G G GR   	
  
 r   r   N)r7   typingr   r   +litellm.llms.openai.chat.gpt_transformationr   r   r(   r   r   <module>rC      s     # Gvo vr   