跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

DGX Spark 部署 vLLM 与 Open WebUI 运行 Qwen3-Coder-FP8

记录了在 NVIDIA DGX Spark(Grace Blackwell 架构,aarch64,CUDA 13.0)上部署 vLLM 推理服务并接入 Open WebUI 的完整流程。内容包括 FlashAttention 编译、vLLM wheel 安装、Qwen3-Coder-Next-FP8 模型加载、Open WebUI 本地及容器化部署配置、性能实测数据及故障排查指南。所有命令经实测验证,适用于生产环境。

萤火微光发布于 2026/4/5更新于 2026/7/2461 浏览
DGX Spark 部署 vLLM 与 Open WebUI 运行 Qwen3-Coder-FP8

DGX Spark 部署 vLLM 与 Open WebUI 运行 Qwen3-Coder-FP8

本文详细记录在 NVIDIA DGX Spark(Grace Blackwell 架构)上部署 vLLM 推理服务并接入 Open WebUI 的完整流程,包含 FlashAttention 编译、vLLM wheel 安装、Qwen3-Coder-Next-FP8 模型加载等关键步骤,适配 aarch64 + CUDA 13.0 环境。

硬件平台:NVIDIA DGX Spark(Grace Blackwell GB10 架构) 操作系统:Ubuntu 24.04.4 LTS(aarch64) CUDA Version:13.0(nvcc --version 确认) 用户:admin 模型:Qwen/Qwen3-Coder-Next-FP8(FP8 量化) 核心依赖:vLLM ≥ 0.15.1(需支持 CUDA 13.0 + aarch64 + cu130 wheel)


一、在 Spark 上初始化 vLLM 部署环境(用户:admin)

mkdir -p ~/vllm
cd ~/vllm
uv venv --python3.12 --seedsource .venv/bin/activate
pip install torch==2.9.1+cu130 --index-url=https://download.pytorch.org/whl/cu130
uv pip install setuptools==80.10.2
uv pip install packaging -U

✅ 验证:确保虚拟环境激活成功,Python 版本为 3.12。


二、依赖安装(FlashAttention 2.8.3 + Triton 3.6.0)

2.1 安装 FlashAttention(aarch64 + CUDA 13.0)

⚠️ 重要:当前 FlashAttention 官方暂未提供 cu130 + aarch64 的预编译 wheel(截至 v2.8.3)。 ✅ 推荐方案:下载社区构建的 aarch64 版本或从源码编译(设置 MAX_JOBS=4 防 OOM)—— 本方案优先推荐预编译 wheel

方案 A:预编译 wheel(首选)
# 示例:假设已下载 wheel(替换为实际路径)
uv pip install /path/to/flash_attn-2.8.3+cu130torch2.5.0cxx11abiFALSE-cp312-cp312-linux_aarch64.whl --no-build-isolation --no-cache-dir 
方案 B:源码编译(若无 wheel)
export MAX_JOBS=4
export CMAKE_BUILD_PARALLEL_LEVEL=2
uv pip install flash-attn --no-build-isolation --no-cache-dir 

🔔 注意:源码编译需提前安装 build-essential, cmake, nvidia-cuda-toolkit, python3-dev。 ⏱️ 编译耗时约 0.5–1 小时(取决于 I/O 和内存)

2.2 升级 Triton 至 3.6.0+
uv pip install --upgrade "triton>=3.6.0"

✅ 验证:检查版本是否满足要求。


三、部署 vLLM(aarch64, CUDA 13.0)

3.1 安装 vLLM(指定 cu130 + aarch64 wheel)

✅ 官方 vLLM ≥ v0.15.1 已提供 cu130 + aarch64 wheel。 ✅ 本部署采用最新稳定版(截至 2026.2 为 v0.15.1,请以 API 实际返回为准)

# 获取最新版本号(自动解析 tag,去掉 'v' 前缀)
export VLLM_VERSION=$(curl -s https://api.github.com/repos/vllm-project/vllm/releases/latest | jq -r '.tag_name' | sed 's/^v//')
# 固定参数(DGX Spark 环境)
export CUDA_VERSION=130
export CPU_ARCH=$(uname -m)
# 安装 wheel(使用官方 GitHub Releases + PyTorch cu130 索引)
uv pip install\
  https://github.com/vllm-project/vllm/releases/download/v${VLLM_VERSION}/vllm-${VLLM_VERSION}+cu${CUDA_VERSION}-cp38-abi3-manylinux_2_35_${CPU_ARCH}.whl \
  --extra-index-url https://download.pytorch.org/whl/cu${CUDA_VERSION}

✅ 验证安装:执行 python -c "import vllm; print(vllm.__version__)"。 ⚠️ 若下载失败(如网络限制),可提前下载 wheel 至本地后执行。

3.2 启动 vLLM 推理服务(单卡模式)
VLLM_USE_MODELSCOPE=true \
  vllm serve \
  Qwen/Qwen3-Coder-Next-FP8 \
  --port 8000 \
  --tensor-parallel-size 1 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --gpu-memory-utilization 0.8
📊 性能实测(DGX Spark GB10)
指标结果
GPU 使用率>90%
显存占用(模型加载后)~110+ GB
推理吞吐~35–45 tokens/sec(实测:单次请求最大 40±5)

✅ 输出 token 速率与测评一致,甚至好于预期,可能使用 FlashAttention 的原因。 运行 1 个请求的情况,在 40 tokens/秒。 运行 2 个请求的情况:59~70 tokens/秒。


四、部署 Open WebUI(在 Spark 本机上,非容器部署)

4.1 启动服务(使用 uvx,与 vllm 共用 python 虚拟环境)
HF_ENDPOINT=https://hf-mirror.com \
DATA_DIR=~/open-webui/data \
uvx --python3.12 open-webui@latest serve \
--port 8080

✅ 访问地址:http://<dgx-spark-ip>:8080 ⚠️ 若运行于 DGX Spark 本机,直接打开 http://localhost:8080

4.2 连接 vLLM 后端(API 地址)

在 Open WebUI 中配置,管理员面板 -> 设置 -> 外部连接,OpenAI 接口,点击加号:

字段值
Urlhttp://localhost:8000/v1
模型 ID(留空或填 Qwen/Qwen3-Coder-Next-FP8)
密钥(留空)

✅ 配置成功后测试:点击 验证链接,应显示 已验证服务器链接。


五、容器化部署 Open WebUI(在另外一台机器上,Win11 主机)

5.1 架构图

Local Workstation (Win11 + Docker Desktop) <-> NVIDIA DGX Spark (GB10)

  • GPU: Blackwell
  • CPU: Grace (aarch64)
  • CUDA: 13.0
  • vLLM Service: 模型 Qwen/Qwen3-Coder-Next-FP8,端口 8000
  • Open WebUI Container: 镜像 ghcr.io/open-webui/open-webui:main,端口 3000
  • 通信: HTTP/1.1 over TCP (POST /chat/completions)
5.2 创建并运行 OpenWebUI 容器

创建 docker-compose.yml 文件:

services:
  openwebui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: openwebui-app
    ports:
      - "3000:8080"
    volumes:
      - open-webui:/app/backend/data
volumes:
  open-webui:

在命令窗口里运行命令:

docker compose up -d 
注意:如果 C 盘空间不足,docker desktop 可以迁移 WSL 镜像的位置

在设置->Resources -> Docker Engine 指定 data-root 的位置。

5.3 在 nvidia sync 增加 custom 的端口映射

通过 Sync 映射 host:8000 → dgx-spark:8000(跨主机通信)。

5.4 配置 OpenWebUI 容器连接 vLLM 地址(已经通过 Sync 映射到主机)配置:

http://host.docker.internal:8000/v1 (若 host.docker.internal 不可用,可改为 DGX Spark 宿主机局域网 IP)


六、模型采样参数推荐(Qwen3-Coder-Next-FP8)

参数推荐值说明
temperature1.0代码生成任务平衡创造性与准确性
top_p0.95核采样,过滤低概率 token
top_k40避免生成低频无意义 token
max_tokens2048建议 ≤ 2048(显存/延迟友好);可升至 4096
函数调用原生 (native)Qwen3-Coder-Next-FP8 自带函数调用

🔧 在 Open WebUI → 管理员面板 → 模型 → Qwen/Qwen3-Coder-Next-FP8 → 高级参数 中配置后,所有新会话自动生效。


七、故障排查(aarch64 / CUDA 13.0 专项)

问题解决方案
ImportError: libcurand.so.10...确认 CUDA Toolkit 13.0 安装完整:apt install nvidia-cuda-toolkit
CUDA driver version is insufficientnvidia-smi 显示驱动版本 ≥ 550.54.15(DGX Spark 默认已满足)
FlashAttention 加载失败确认 wheel 名称含 linux_aarch64 且 cu130;禁用 -no-build-isolation 时需手动安装 nvidia-cu-cdp-dev
vLLM 启动报 Triton not installed重新运行 uv pip install --upgrade triton,确保 ≥3.6.0

🔍 关键诊断命令:请根据具体报错信息查阅相关日志。


八、参考资料

  • NVIDIA DGX Spark 官方技术文档
  • vLLM aarch64 + GPU 安装指南
  • Open WebUI 快速上手指南 python+uv
  • DGX Spark 上安装使用 vLLM

目录

  1. DGX Spark 部署 vLLM 与 Open WebUI 运行 Qwen3-Coder-FP8
  2. 一、在 Spark 上初始化 vLLM 部署环境(用户:admin)
  3. 二、依赖安装(FlashAttention 2.8.3 + Triton 3.6.0)
  4. 2.1 安装 FlashAttention(aarch64 + CUDA 13.0)
  5. 方案 A:预编译 wheel(首选)
  6. 示例:假设已下载 wheel(替换为实际路径)
  7. 方案 B:源码编译(若无 wheel)
  8. 2.2 升级 Triton 至 3.6.0+
  9. 三、部署 vLLM(aarch64, CUDA 13.0)
  10. 3.1 安装 vLLM(指定 cu130 + aarch64 wheel)
  11. 获取最新版本号(自动解析 tag,去掉 'v' 前缀)
  12. 固定参数(DGX Spark 环境)
  13. 安装 wheel(使用官方 GitHub Releases + PyTorch cu130 索引)
  14. 3.2 启动 vLLM 推理服务(单卡模式)
  15. 📊 性能实测(DGX Spark GB10)
  16. 四、部署 Open WebUI(在 Spark 本机上,非容器部署)
  17. 4.1 启动服务(使用 uvx,与 vllm 共用 python 虚拟环境)
  18. 4.2 连接 vLLM 后端(API 地址)
  19. 五、容器化部署 Open WebUI(在另外一台机器上,Win11 主机)
  20. 5.1 架构图
  21. 5.2 创建并运行 OpenWebUI 容器
  22. 注意:如果 C 盘空间不足,docker desktop 可以迁移 WSL 镜像的位置
  23. 5.3 在 nvidia sync 增加 custom 的端口映射
  24. 5.4 配置 OpenWebUI 容器连接 vLLM 地址(已经通过 Sync 映射到主机)配置:
  25. 六、模型采样参数推荐(Qwen3-Coder-Next-FP8)
  26. 七、故障排查(aarch64 / CUDA 13.0 专项)
  27. 八、参考资料
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 MAI-UI-8B 实现 Android UI 自动化:从元素定位到多步导航
  • DDD 领域驱动设计:失血、贫血、充血与胀血模型详解及代码示例
  • OpenCode 开源 AI 编程助手使用指南
  • 厘清概念:人工智能、机器学习与深度学习的本质区别
  • Windows 部署 OpenClaw 接入飞书机器人
  • Spring AOP 核心概念与通知类型详解
  • ClawdBot 本地 AI 网关:Docker 镜像集成 Whisper 与 PaddleOCR 部署
  • Java 多线程并发编程:并发容器与线程协作实战
  • 基于FPGA的简易数据采集系统
  • Trae AI 原生 IDE 安装与使用指南
  • 让 GitHub Copilot 复用 Claude Code 本地技能的方法
  • Nanbeige 4.1-3B Streamlit WebUI 效果实录:表格数据生成与展示
  • 文心一言 4.5 评测与本地部署指南:开源大模型的中文能力实测
  • 阿里开源 Page-Agent:一行代码实现浏览器内 AI 原生应用
  • C++ 虚函数与纯虚函数:深入理解多态机制
  • C++ 模板的幻觉:实例化、重定义与隐藏依赖
  • 最长有效括号:Python 动态规划解法
  • jQuery 核心知识详解:基础、DOM 操作与插件应用
  • OpenClaw 插件更新:支持在面板配置 QQ 与飞书机器人
  • Python 浏览器自动化与并发处理技术实战

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online