瀏覽代碼

add-nvidia-mim (#4882)

Joshua 11 月之前
父節點
當前提交
3c8a120e51

+ 1 - 0
api/core/model_runtime/model_providers/_position.yaml

@@ -4,6 +4,7 @@
 - google
 - vertex_ai
 - nvidia
+- nvidia_nim
 - cohere
 - bedrock
 - togetherai

+ 0 - 0
api/core/model_runtime/model_providers/nvidia_nim/__init__.py


二進制
api/core/model_runtime/model_providers/nvidia_nim/_assets/icon_l_en.png


File diff suppressed because it is too large
+ 3 - 0
api/core/model_runtime/model_providers/nvidia_nim/_assets/icon_s_en.svg


+ 0 - 0
api/core/model_runtime/model_providers/nvidia_nim/llm/__init__.py


+ 10 - 0
api/core/model_runtime/model_providers/nvidia_nim/llm/llm.py

@@ -0,0 +1,10 @@
+import logging
+
+from core.model_runtime.model_providers.openai_api_compatible.llm.llm import OAIAPICompatLargeLanguageModel
+
+logger = logging.getLogger(__name__)
+
+class NVIDIANIMProvider(OAIAPICompatLargeLanguageModel):
+    """
+    Model class for NVIDIA NIM large language model.
+    """

+ 10 - 0
api/core/model_runtime/model_providers/nvidia_nim/nvidia_nim.py

@@ -0,0 +1,10 @@
+import logging
+
+from core.model_runtime.model_providers.__base.model_provider import ModelProvider
+
+logger = logging.getLogger(__name__)
+
+class NVIDIANIMProvider(ModelProvider):
+
+    def validate_provider_credentials(self, credentials: dict) -> None:
+        pass

+ 101 - 0
api/core/model_runtime/model_providers/nvidia_nim/nvidia_nim.yaml

@@ -0,0 +1,101 @@
+provider: nvidia_nim
+label:
+  en_US: NVIDIA NIM
+description:
+  en_US: NVIDIA NIM
+  zh_Hans: NVIDIA NIM
+icon_small:
+  en_US: icon_s_en.svg
+icon_large:
+  en_US: icon_l_en.png
+background: "#EFFDFD"
+supported_model_types:
+  - llm
+configurate_methods:
+  - customizable-model
+model_credential_schema:
+  model:
+    label:
+      en_US: Model Name
+      zh_Hans: 模型名称
+    placeholder:
+      en_US: Enter full model name
+      zh_Hans: 输入模型全称
+  credential_form_schemas:
+    - variable: endpoint_url
+      label:
+        zh_Hans: API endpoint URL
+        en_US: API endpoint URL
+      type: text-input
+      required: true
+      placeholder:
+        zh_Hans: Base URL, e.g. https://api.openai.com/v1
+        en_US: Base URL, e.g. https://api.openai.com/v1
+    - variable: mode
+      show_on:
+        - variable: __model_type
+          value: llm
+      label:
+        en_US: Completion mode
+      type: select
+      required: false
+      default: chat
+      placeholder:
+        zh_Hans: 选择对话类型
+        en_US: Select completion mode
+      options:
+        - value: completion
+          label:
+            en_US: Completion
+            zh_Hans: 补全
+        - value: chat
+          label:
+            en_US: Chat
+            zh_Hans: 对话
+    - variable: context_size
+      label:
+        zh_Hans: 模型上下文长度
+        en_US: Model context size
+      required: true
+      type: text-input
+      default: '4096'
+      placeholder:
+        zh_Hans: 在此输入您的模型上下文长度
+        en_US: Enter your Model context size
+    - variable: max_tokens_to_sample
+      label:
+        zh_Hans: 最大 token 上限
+        en_US: Upper bound for max tokens
+      show_on:
+        - variable: __model_type
+          value: llm
+      default: '4096'
+      type: text-input
+    - variable: vision_support
+      show_on:
+        - variable: __model_type
+          value: llm
+      label:
+        zh_Hans: Vision 支持
+        en_US: Vision Support
+      type: select
+      required: false
+      default: no_support
+      options:
+        - value: support
+          label:
+            en_US: Support
+            zh_Hans: 支持
+        - value: no_support
+          label:
+            en_US: Not Support
+            zh_Hans: 不支持
+    - variable: stream_mode_delimiter
+      label:
+        zh_Hans: 流模式返回结果的分隔符
+        en_US: Delimiter for streaming results
+      show_on:
+        - variable: __model_type
+          value: llm
+      default: '\n\n'
+      type: text-input