我们带来了一些关于 NVIDIA DGX Spark 的激动人心的更新!在正式发布后的一周内,我们与 NVIDIA 紧密合作,成功在 DGX Spark 上为 SGLang 带来了 GPT-OSS 20B 和 GPT-OSS 120B 的支持。结果令人印象深刻: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,LMRouter 能够将 Anthropic 风格的请求转换为兼容 OpenAI 的请求。
步骤 1:创建 LMRouter 配置文件
将此文件保存为 `lmrouter-sglang.yaml`。
步骤 2:启动 LMRouter
安装 pnpm(如果尚未安装),然后运行:
pnpx @lmrouter/cli lmrouter-sglang.yaml
步骤 3:启动 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 强大引擎。