一、简介与适用场景
NVIDIA NIM 是英伟达把开源模型打包成标准推理微服务的方案。它有两种用法:一是直接调用 build.nvidia.com 上的云端托管端点(本文重点),二是把 NIM 容器拉到自己的 GPU 机器上跑。两者对外暴露的是同一套 OpenAI 兼容 API,区别只在于地址。
免费额度以 API credits 的形式发放,注册即赠送一批,按调用次数扣减。它的价值在于:一个 Key 就能试遍 Llama、Mistral、Nemotron 等一大堆开源模型的官方优化版本,而且是英伟达自己调优的推理栈,速度有保障。
二、注册与获取 Key
- 打开 build.nvidia.com,用邮箱注册 NVIDIA 账号并登录。
- 在模型页面右侧点「Get API Key」,系统会赠送一批免费 credits。
- 复制
nvapi-开头的密钥并保存。 - credits 用完后可申请加入 NVIDIA Developer Program 续期,或改为自建容器部署。
三、Base URL 与鉴权
- Base URL:
https://integrate.api.nvidia.com/v1 - 鉴权方式:
Authorization: Bearer nvapi-xxxxxxxx - 对话端点:
/chat/completions
模型标识是 <厂商>/<模型名> 两段式,例如 meta/llama-3.1-8b-instruct、mistralai/mistral-7b-instruct-v0.3。可以在模型页面的代码示例里直接复制,不要凭记忆手打。
如果你改用自建 NIM 容器,Base URL 换成 http://localhost:8000/v1,api_key 可以随便填一个非空字符串——本地容器不校验密钥。除此之外代码完全不用改,这也是 NIM 设计上最省事的地方。
官方文档:docs.nvidia.com/nim
四、客户端接入示例
Cherry Studio 等客户端用「自定义 OpenAI 供应商」接入:
- 「设置 → 模型服务 → 添加供应商」,类型选 OpenAI。
- API 地址填
https://integrate.api.nvidia.com/v1。 - API 密钥填
nvapi-字符串。 - 手动添加模型名,如
meta/llama-3.1-8b-instruct。 - 想切到本地容器时,只需把地址改成
http://localhost:8000/v1。
五、代码示例
curl:
curl https://integrate.api.nvidia.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $NVIDIA_API_KEY" \
-d '{
"model": "meta/llama-3.1-8b-instruct",
"messages": [{"role": "user", "content": "用一句话解释什么是 API"}]
}'
Python:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NVIDIA_API_KEY"],
base_url="https://integrate.api.nvidia.com/v1",
)
resp = client.chat.completions.create(
model="meta/llama-3.1-8b-instruct",
messages=[{"role": "user", "content": "用一句话解释什么是 API"}],
)
print(resp.choices[0].message.content)
Node.js:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.NVIDIA_API_KEY,
baseURL: 'https://integrate.api.nvidia.com/v1',
});
const resp = await client.chat.completions.create({
model: 'meta/llama-3.1-8b-instruct',
messages: [{ role: 'user', content: '用一句话解释什么是 API' }],
});
console.log(resp.choices[0].message.content);
六、常见错误排查
| 错误码 | 现象 | 原因 | 解决方案 |
|---|---|---|---|
| 404 | 模型找不到 | 模型名没写成 厂商/模型 两段式 | 到模型页复制官方示例里的标识 |
| 401 | 鉴权失败 | Key 不是 nvapi- 开头或已失效 | 重新在模型页获取 Key |
| 402 | credits 用尽 | 免费额度扣完 | 申请开发者计划续期或自建容器 |
| 429 | 限流 | 免费档并发低,热门模型排队 | 降低并发并加退避重试 |
| 400 | 参数非法 | 传了该模型不支持的采样参数 | 只保留 messages 与常规参数 |
| 超时 | 首 token 很慢 | 云端端点跨境链路波动 | 加大超时阈值或改用自建容器 |