NVIDIA NIM fixes (#4215)

* fix: udpate label to "NVIDIA NIM API Key"

* test: update tag from ":latest" to ":1.8.0-rtx"

* test: add image URL path "nvcr.io/nim/"

* fix/nvidia-nim-2 (#4208)

* fix: update nim-container-manager

* feat: add "DeepSeek R1 Distill Llama 8B"

* fix/nidia-nim-3 (#4209)

* chore: add error message NVIDIA NIM is not installed.

* chore: standardize NVIDIA NGC API Key

* chore: capitalize Nvidia to NVIDIA

* chore: generalize error message for chat models

* fix/nvidia-nim-4-yau (#4212)

* test: nimRelaxMemConstraints and hostPort

* test: add logger for hostPort and nimRelaxMemConstraints

* test: nim-container-manager version 1.0.9

* test: parseInt nimRelaxMemConstraints

* test: update nim-container-manager version to 1.0.10

* chore: update nim-container-manager version to 1.0.11

* Update start container behaviour - show existing containers and give users the choice

* Go back to previous step when clicking start new so user can change port number

* Update condition for showing existing container dialog

* Fix start new in different port not working

* Update get container controller

* Update again

* fix: generalize error message for chat models

* Update getContainer controller

* Fix incorrect image check in getContainer controller

* Update existing container dialog text

* Fix styles in container exists dialog for nvidia nim

---------

Co-authored-by: chungyau97 <chungyau97@gmail.com>
Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
This commit is contained in:
Ilango
2025-03-24 15:20:09 +05:30
committed by GitHub
parent 7867489727
commit 4fa2672c9d
10 changed files with 461 additions and 255 deletions
@@ -1,4 +1,4 @@
import { INodeParams, INodeCredential } from '../src/Interface'
import { INodeCredential, INodeParams } from '../src/Interface'
class NvidiaNIMApi implements INodeCredential {
label: string
@@ -8,12 +8,12 @@ class NvidiaNIMApi implements INodeCredential {
inputs: INodeParams[]
constructor() {
this.label = 'Nvdia NIM API Key'
this.label = 'NVIDIA NGC API Key'
this.name = 'nvidiaNIMApi'
this.version = 1.0
this.inputs = [
{
label: 'Nvidia NIM API Key',
label: 'NVIDIA NGC API Key',
name: 'nvidiaNIMApiKey',
type: 'password'
}
@@ -1,5 +1,5 @@
import { ChatOpenAI, ChatOpenAIFields } from '@langchain/openai'
import { BaseCache } from '@langchain/core/caches'
import { ChatOpenAI, ChatOpenAIFields } from '@langchain/openai'
import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
@@ -16,13 +16,13 @@ class ChatNvdiaNIM_ChatModels implements INode {
inputs: INodeParams[]
constructor() {
this.label = 'Chat Nvidia NIM'
this.name = 'chatNvidiaNIM'
this.version = 1.0
this.type = 'ChatNvidiaNIM'
this.label = 'Chat NVIDIA NIM'
this.name = 'Chat NVIDIA NIM'
this.version = 1.1
this.type = 'Chat NVIDIA NIM'
this.icon = 'nvdia.svg'
this.category = 'Chat Models'
this.description = 'Wrapper around Nvdia NIM Inference API'
this.description = 'Wrapper around NVIDIA NIM Inference API'
this.baseClasses = [this.type, ...getBaseClasses(ChatOpenAI)]
this.credential = {
label: 'Connect Credential',
@@ -153,7 +153,7 @@ class ChatNvdiaNIM_ChatModels implements INode {
try {
parsedBaseOptions = typeof baseOptions === 'object' ? baseOptions : JSON.parse(baseOptions)
} catch (exception) {
throw new Error("Invalid JSON in the ChatNvidiaNIM's baseOptions: " + exception)
throw new Error("Invalid JSON in the Chat NVIDIA NIM's baseOptions: " + exception)
}
}