⚙️ NVIDIA NIM 模型接入配置
NVIDIA NIM 的免费推理端点,兼容 OpenAI 协议。免费模型以开源为主,国内 DeepSeek / Kimi / GLM 都有,但 Claude / Grok / Gemini / MiniMax 不在列。agent 都不默认支持,需要手动写 provider 配置。
🔌 接口
认证走 Authorization: Bearer $NVIDIA_API_KEY(nvapi- 开头,控制台 申请)。
| 协议 | Endpoint | baseURL 填什么 |
|---|---|---|
| OpenAI Chat Completions | POST /v1/chat/completions | https://integrate.api.nvidia.com/v1,带 /v1 |
| 模型列表 | GET /v1/models | 同上,带 /v1 |
| Embeddings | POST /v1/embeddings | 同上,带 /v1 |
默认配置不行的三个原因:
max_tokens:NVIDIA NIM 只认max_tokens,不认 OpenAI 新版的max_completion_tokens。harness 的 OpenAI-completions 默认按 OpenAI 规则发max_completion_tokens,直接 400developer角色:harness 的 pi-ai 默认把系统提示词走role: "developer",但 NVIDIA NIM 只认system/user/assistant/tool,直接 400- 输入模态:多模态模型不声明
input就在发送前被拒
和 SenseNova模型接入配置 的区别:模型 ID 带 owner 前缀(如
deepseek-ai/deepseek-v4.1-flash),SenseNova 不带(如deepseek-v4-flash)。其余坑类似(max_tokens、developer角色、多模态声明)。
📋 模型清单
GET /v1/models 返回全部模型,模型页 标注了哪些有免费端点。下面只列免费端点中可用于对话 / agent 的。
🌏 国内模型
| Model ID | 定位 | 输入 | 上下文 | 单次输出上限 |
|---|---|---|---|---|
deepseek-ai/deepseek-v4.1-flash | 552B MoE, 8B 活跃参数,原生多模态,KV cache 更小成本更低 | text, image | 待核实 | 待核实 |
z-ai/glm-5.3 | 753B 纯文本 MoE,稀疏注意力,原生 FP8,推理 + 工具调用 | text | 待核实 | 待核实 |
z-ai/glm-5.3-flash | 320B 多模态 MoE(18B 活跃),混合 KDA + 稀疏 MLA 注意力,推理 + 工具调用 | text, image | 待核实 | 待核实 |
moonshotai/kimi-k3 | ~2.8T 混合 KDA+MLA 多模态 MoE,长程 coding、agentic 工具调用、图像理解 | text, image | 待核实 | 待核实 |
🌍 其他免费模型
| Model ID | 定位 | 输入 | 上下文 | 单次输出上限 |
|---|---|---|---|---|
nvidia/nemotron-3-ultra-550b-a55b | 550B A55B 混合 Mamba-Transformer MoE,1M 上下文,agentic 推理 / coding / 工具调用 | text | 1M | 待核实 |
nvidia/nemotron-3-super-120b-a12b | 120B A12B 混合 MoE,1M 上下文,agentic 推理 / coding | text | 1M | 待核实 |
nvidia/nemotron-3.5-lightning-30b-a3b | 30B A3B MoE,最快速度,专用 agentic 任务 | text | 待核实 | 待核实 |
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning | 30B 全模态推理(图像 / 视频 / 语音 / 文本) | text, image | 待核实 | 待核实 |
meta/muse-glimmer-30b | 30B 多模态推理,文本 + 图像,原生工具调用,独立推理输出 | text, image | 待核实 | 待核实 |
google/diffusiongemma-26b-a4b-it | 26B 扩散式 LLM,并行 token 生成,实时文本应用 | text | 待核实 | 待核实 |
google/gemma-4-31b-it | 31B 密集模型,前沿推理 / coding / agentic / 微调 | text | 待核实 | 待核实 |
poolside/laguna-xs-2.1 | 33B MoE,本地长程 agentic coding + 终端任务 | text | 待核实 | 待核实 |
openai/gpt-oss-20b | 小型 MoE,高效 AI 推理 + 数学 | text | 待核实 | 待核实 |
mistralai/mistral-nemotron | agentic 工作流,coding / 指令遵循 / 函数调用 | text | 待核实 | 待核实 |
🖼️ 视觉模型(也可用于 agent 对话)
| Model ID | 定位 | 输入 |
|---|---|---|
meta/llama-3.2-11b-vision-instruct | 11B VLM,高质量图像推理 | text, image |
meta/llama-3.2-90b-vision-instruct | 90B VLM,高质量图像推理 | text, image |
google/paligemma | VLM,文本 + 视觉理解 | text, image |
🚫 不在 NVIDIA NIM 的
- Claude(Anthropic):没有
- Grok(xAI):没有
- Gemini(Google 闭源):没有(只有开源 Gemma 系列)
- MiniMax:没有
⚠️ 首页有但 API 列表里没有的
deepseek-ai/deepseek-v4-pro-0813:首页推荐但GET /v1/models没返回,可能是新上线模型或仅下载版
📡 接入状态
| agent | 协议 | 配置位置 | 状态 |
|---|---|---|---|
| OpenCode | OpenAI | ~/.config/opencode/opencode.json | 待接 |
| harness | OpenAI | $DSH_HOME/settings.yaml | 待接 |
OpenCode
配置文件 ~/.config/opencode/opencode.json。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"nvidia-nim": {
"npm": "@ai-sdk/openai-compatible",
"name": "NVIDIA NIM",
"options": {
"baseURL": "https://integrate.api.nvidia.com/v1",
"apiKey": "nvapi-xxx"
},
"models": {
"deepseek-ai/deepseek-v4.1-flash": {
"name": "DeepSeek V4.1 Flash",
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"z-ai/glm-5.3": {
"name": "GLM-5.3",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 1000000, "output": 131072 }
},
"z-ai/glm-5.3-flash": {
"name": "GLM-5.3 Flash",
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 1000000, "output": 131072 }
},
"moonshotai/kimi-k3": {
"name": "Kimi K3",
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 1000000, "output": 131072 }
},
"nvidia/nemotron-3-ultra-550b-a55b": {
"name": "Nemotron 3 Ultra 550B",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"nvidia/nemotron-3-super-120b-a12b": {
"name": "Nemotron 3 Super 120B",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"nvidia/nemotron-3.5-lightning-30b-a3b": {
"name": "Nemotron 3.5 Lightning 30B",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
"name": "Nemotron 3 Nano Omni Reasoning",
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"meta/muse-glimmer-30b": {
"name": "Muse Glimmer 30B",
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 131072, "output": 16384 }
},
"google/gemma-4-31b-it": {
"name": "Gemma 4 31B",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 131072, "output": 16384 }
},
"poolside/laguna-xs-2.1": {
"name": "Laguna XS 2.1",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 131072, "output": 16384 }
},
"openai/gpt-oss-20b": {
"name": "GPT-OSS 20B",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 131072, "output": 16384 }
},
"mistralai/mistral-nemotron": {
"name": "Mistral-Nemotron",
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 131072, "output": 16384 }
}
}
}
}
}只需把 nvapi-xxx 换成你的 key。改完必须重启 OpenCode。
上下文和输出上限标注”待核实”的,先填保守值。请求报 400 就调小,报截断就调大。实际值以模型页或实测为准。
Kimi K3 特别注意:SenseNova 平台上 Kimi K3 用
max_completion_tokens而不是max_tokens。NVIDIA NIM 可能一样。如果其他模型正常但 Kimi K3 报 400,单独建一个 provider 改maxTokensField: max_completion_tokens。
harness
DeepSeek 官方的开源 agent harness,CLI 叫 dsh。配置在 $DSH_HOME/settings.yaml。
模型变更下一次请求就生效,不用重启。
1️⃣ 方式一:模型页表单
设置 → 模型 → 添加自定义提供方:
| 字段 | 值 |
|---|---|
| Provider ID | nvidia-nim(小写,永久不可改) |
| 显示名称 | NVIDIA NIM |
| API 地址 | https://integrate.api.nvidia.com/v1 |
| API 协议 | openai-completions |
| API 密钥 | nvapi-xxx |
也能在模型目录里点「获取可用模型」探测,它调 GET /v1/models 返回可勾选列表。
2️⃣ 方式二:settings.yaml
llm-pi-ai:
providers:
nvidia-nim:
apiKeyEnv: NVIDIA_API_KEY
api: openai-completions
baseURL: https://integrate.api.nvidia.com/v1
compat:
supportsDeveloperRole: false
maxTokensField: max_tokens
models:
- id: deepseek-ai/deepseek-v4.1-flash
input: [text, image]
reasoningEfforts:
off: none
high: high
- id: z-ai/glm-5.3
reasoningEfforts:
off: none
high: high
- id: z-ai/glm-5.3-flash
input: [text, image]
reasoningEfforts:
off: none
high: high
- id: moonshotai/kimi-k3
input: [text, image]
reasoningEfforts:
off: none
high: high
- id: nvidia/nemotron-3-ultra-550b-a55b
reasoningEfforts:
off: none
high: high
- id: nvidia/nemotron-3-super-120b-a12b
reasoningEfforts:
off: none
high: high
- id: nvidia/nemotron-3.5-lightning-30b-a3b
reasoningEfforts:
off: none
high: high
- id: nvidia/nemotron-3-nano-omni-30b-a3b-reasoning
input: [text, image]
reasoningEfforts:
off: none
high: high
- id: meta/muse-glimmer-30b
input: [text, image]
reasoningEfforts:
off: none
high: high
- id: google/gemma-4-31b-it
- id: poolside/laguna-xs-2.1
- id: openai/gpt-oss-20b
- id: mistralai/mistral-nemotron
reasoningEfforts:
off: none
high: high用表单填的话密钥进 .credentials.yaml;手写这份 YAML 就用 apiKeyEnv 指向环境变量。
❓ 四个字段为什么必须写
input: [text, image]:手动录入的模型一律按纯文本对待,不声明的话附图片在发送前就被拒compat.supportsDeveloperRole: false:pi-ai 不认识 NVIDIA 的地址,会按 OpenAI 的规矩发请求——推理模型的系统提示词走role: "developer",而 NVIDIA NIM 只认system/user/assistant/toolcompat.maxTokensField: max_tokens:OpenAI 默认写max_completion_tokens,NVIDIA NIM 认max_tokensreasoningEfforts:手动录入的模型不声明等级就出不来推理菜单。NVIDIA NIM 关闭思考是reasoning_effort: "none",不是省略参数
🩹 排错
MISSING_CREDENTIAL:用模型页存密钥,或提供被引用的环境变量UNKNOWN_MODEL:选了没配的模型,或自定义提供方里漏了这个模型- 「获取可用模型」401:密钥错
- 密钥和地址都对,但每个请求都被拒:请求形状跟 OpenAI 不一样。先在路由上设
compat.supportsDeveloperRole: false和compat.maxTokensField: max_tokens - 只有推理模型失败:系统提示词走
developer角色被拒。设compat.supportsDeveloperRole: false - 手动录入的模型没有推理等级菜单:没声明等级。加
reasoningEfforts - 图片发送前被拒:该模型没声明图片模态。加
input: [text, image] - 网关拒绝带图片的请求:声明了它实际不提供的能力。从
input去掉image,然后开新会话
🎛️ 推荐参数
max_tokens:标准任务 2048–4096;reasoning 模式 ≥4096。reasoning 内容和正式输出共享max_tokens配额stream: true:长文本生成推荐开,防超时temperature:默认 1;创作 1.3–1.5;代码生成 0.2–0.5- 多轮对话:历史只回传
content,不要回传reasoning,省 token reasoning_effort:low/medium/high,none等于关闭- reasoning 模式和 JSON mode 不建议同时开
🕘 状态记录
- 2026-09-26:首次记录。通过
GET /v1/models核对免费端点模型清单,梳理国内 DeepSeek / Kimi / GLM 及主流开源模型的接入配置。
🔗 相关
- 注册指南(先拿 Key):NVIDIA NIM 注册指南
- 官方模型页:https://build.nvidia.com/models
- API 端点:https://integrate.api.nvidia.com/v1
- 模型列表 API:https://integrate.api.nvidia.com/v1/models
- SenseNova 配置(对比参考):SenseNova模型接入配置