# 在 NVIDIA DGX Spark 上优化 GPT-OSS：实现本地大模型部署

- 来源：LMSYS：Blog（Chatbot Arena 团队）
- 发布时间：2025-11-03 00:00
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmnxbjke50071sln0fe680fef
- 原文链接：https://www.lmsys.org/blog/2025-11-03-gpt-oss-on-nvidia-dgx-spark

## 精选理由

DGX Spark本地跑通Claude Code完全离线，隐私敏感开发者的新选择

## AI 摘要

与 NVIDIA 合作，在 DGX Spark 上通过 SGLang 成功支持 GPT-OSS 20B 与 120B 模型，实现 20B 版本约 70 tokens/s、120B 版本约 50 tokens/s 的生成速度，达到目前最优水平。用户可通过 Docker 部署 SGLang 服务，接入 Open WebUI 实现本地聊天，或借助 LMRouter 转换请求格式以完全本地化运行 Claude Code。该方案使在 DGX Spark 上部署多百亿参数本地编码智能体成为现实。

## 正文

目录

1. 环境准备

2. 使用 Docker 启动 SGLang

3. 测试服务器

4. 性能基准测试

5. 运行本地聊天机器人（Open WebUI）

6. 完全在本地运行 Claude Code

步骤 1：创建 LMRouter 配置

步骤 2：启动 LMRouter

步骤 3：启动 Claude Code

7. 总结

在 NVIDIA DGX Spark 上优化 GPT-OSS：充分发挥 Spark 的性能

Jerry Zhou2025 年 11 月 3 日

我们带来了关于 NVIDIA DGX Spark 的一些激动人心的更新！在正式发布后的一周内，我们与 NVIDIA 紧密合作，成功将 GPT-OSS 20B 和 GPT-OSS 120B 的支持移植到了 DGX Spark 上的 SGLang。结果令人印象深刻：GPT-OSS 20B 约 70 tokens/s，GPT-OSS 120B 约 50 tokens/s——这是目前的最佳性能，使得在 DGX Spark 上运行本地编码智能体完全可行。

我们在这里更新了详细的基准测试结果，并在此处查看我们的演示视频。

在本文中，你将学习如何：

在 DGX Spark 上使用 SGLang 运行 GPT-OSS 20B 或 120B

在本地进行性能基准测试

将其连接到 Open WebUI 进行聊天

甚至通过 LMRouter 完全在本地运行 Claude Code

1. 环境准备

在启动 SGLang 之前，请确保已为 OpenAI Harmony 准备好正确的 tiktoken 编码：

mkdir -p ~/tiktoken_encodings
wget -O ~/tiktoken_encodings/o200k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken"
wget -O ~/tiktoken_encodings/cl100k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"

2. 使用 Docker 启动 SGLang

现在，使用以下命令启动 SGLang 服务器：

docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface -v ~/tiktoken_encodings:/tiktoken_encodings \
--env "HF_TOKEN=<secret>" --env "TIKTOKEN_ENCODINGS_BASE=/tiktoken_encodings" \
--ipc=host \
lmsysorg/sglang:spark \
python3 -m sglang.launch_server --model-path openai/gpt-oss-20b --host 0.0.0.0 --port 30000 --reasoning-parser gpt-oss --tool-call-parser gpt-oss

将 `<secret>` 替换为你的 Hugging Face 访问令牌。如果你想运行 GPT-OSS 120B，只需将模型路径改为：`openai/gpt-oss-120b`。该模型大小约为 20B 版本的 6 倍，因此加载时间会稍长一些。为获得最佳性能和稳定性，建议在 DGX Spark 上启用交换内存。

3. 测试服务器

一旦 SGLang 运行起来，你可以直接发送兼容 OpenAI 的请求：

curl http://localhost:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "How many letters are there in the word SGLang?"
}
]
}'

4. 性能基准测试

一个快速的基准测试方法是请求较长的输出，例如：

curl http://localhost:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Generate a long story. The only requirement is long."
}
]
}'

在典型条件下，使用 GPT-OSS 20B 你应该能看到大约每秒 70 个 token。

5. 运行本地聊天机器人（Open WebUI）

要搭建一个友好的本地聊天界面，你可以在 DGX Spark 上安装 Open WebUI，并将其指向你正在运行的 SGLang 后端：http://localhost:30000/v1。按照 Open WebUI 安装说明进行操作即可启动运行。连接成功后，你就能与本地 GPT-OSS 实例流畅对话。无需联网。

6. 完全在本地运行 Claude Code

在本地运行 GPT-OSS 模型后，你甚至可以通过 LMRouter 连接 Claude Code，它能够将 Anthropic 风格的请求转换为 OpenAI 兼容的请求。

第一步：创建 LMRouter 配置

将此文件保存为 lmrouter-sglang.yaml。

第二步：启动 LMRouter

安装 pnpm（如果尚未安装），然后运行：

pnpx @lmrouter/cli lmrouter-sglang.yaml

第三步：启动 Claude Code

按照其设置指南安装 Claude Code，然后按如下方式启动：

ANTHROPIC_BASE_URL=http://localhost:3000/anthropic \
ANTHROPIC_AUTH_TOKEN=sk-sglang claude

就这样！你现在可以在本地使用 Claude Code，完全由 DGX Spark 上的 GPT-OSS 20B 或 120B 驱动。

7. 结论

通过这些步骤，你可以充分释放 DGX Spark 的潜力，将其变为一个本地 AI 强大引擎，能够以交互方式运行数百亿参数规模的模型。
