返回顶部
r

rocm_vllm_deploymentROCm vLLM部署

Production-ready vLLM deployment on AMD ROCm GPUs. Combines environment auto-check, model parameter detection, Docker Compose deployment, health verification, and functional testing with comprehensive logging and security best practices.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
406
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

rocm_vllm_deployment

ROCm vLLM 部署技能

使用 Docker Compose 在 AMD ROCm GPU 上部署 vLLM 推理服务的生产级自动化方案。

功能特性

  • - 环境自动检查 - 检测并修复缺失的依赖项
  • 模型参数检测 - 自动读取 config.json 获取最佳设置
  • VRAM 估算 - 部署前计算内存需求
  • 安全令牌处理 - 绝不将令牌写入 compose 文件
  • 结构化输出 - 所有日志和测试结果按模型保存
  • 部署报告 - 每次部署生成人类可读的摘要
  • 健康验证 - 自动化健康检查和功能测试
  • 故障排除指南 - 常见问题及解决方案

环境前提条件

推荐(生产环境): 添加到 ~/.bash_profile:

bash

HuggingFace 认证令牌(受限模型必需)


export HFTOKEN=hfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

模型缓存目录(可选)

export HF_HOME=$HOME/models

应用更改

source ~/.bash_profile

测试环境非必需: 未设置以下变量时技能仍可运行:

  • - HFTOKEN:可选 — 公开模型无需令牌即可工作;受限模型下载时会失败并显示明确错误
  • HFHOME:可选 — 默认为 /root/.cache/huggingface/hub

环境变量检测

优先级顺序:

  1. 1. 显式参数(最高)— 在任务/请求中提供(例如 hftoken: xxx)
  2. 环境变量 — 已在 shell 或父进程中设置
  3. ~/.bashprofile — 加载变量
  4. 默认值(最低)— HF_HOME 默认为 /root/.cache/huggingface/hub

变量必需缺失时
HFTOKEN条件性无令牌继续运行(公开模型正常工作;受限模型下载时失败并显示明确错误)
HFHOME
否 | 警告 + 默认值 — 使用 /root/.cache/huggingface/hub |

设计理念: 配置错误快速失败,认证错误在下载时失败。



辅助脚本

位置: <技能目录>/scripts/

check-env.sh

部署前验证并加载环境变量。

用法:
bash

基本检查(HFTOKEN 可选,HFHOME 可选且有默认值)


./scripts/check-env.sh

严格模式(HF_HOME 必需,未设置则失败)

./scripts/check-env.sh --strict

静默模式(最小化输出,适用于自动化)

./scripts/check-env.sh --quiet

使用环境变量测试

HFTOKEN=hfxxx HF_HOME=/models ./scripts/check-env.sh

退出码:

代码含义
0环境检查完成(变量已加载或使用默认值)
2
严重错误(例如无法加载 ~/.bash_profile) |

注意: 此脚本为可选。您也可以直接运行 source ~/.bash_profile。



generate-report.sh

成功部署后生成人类可读的部署报告。

用法:
bash
./scripts/generate-report.sh <模型ID> <容器名称> <端口> <状态> [模型加载时间] [已用内存]

示例:

./scripts/generate-report.sh \ Qwen-Qwen3-0.6B \ vllm-qwen3-0-6b \ 8001 \ ✅ 成功 \ 3.6 \ 1.2

参数:

参数必需描述
模型ID模型 ID(/ 替换为 -)
容器名称
是 | Docker 容器名称 |
| 端口 | 是 | API 端点的主机端口 |
| 状态 | 是 | 部署状态(例如 ✅ 成功) |
| 模型加载时间 | 否 | 模型加载时间(秒) |
| 已用内存 | 否 | 内存消耗(GiB) |

输出: $HOME/vllm-compose/<模型ID>/DEPLOYMENT_REPORT.md

退出码:

代码含义
0报告生成成功
1
缺少必需参数 |
| 2 | 输出目录未找到 |

集成: 此脚本在部署工作流的阶段 7 中自动调用。



输入模式


参数类型必需默认值描述
modelid字符串-HuggingFace 模型 ID
dockerimage
字符串 | 否 | rocm/vllm-dev:nightly | vLLM Docker 镜像 |
| tensorparallelsize | 整数 | 否 | 1 | GPU 数量 |
| port | 整数 | 否 | 9999 | API 服务器端口 |
| hfhome | 字符串 | 否 | ${HFHOME} 或 /root/.cache/huggingface/hub | 模型缓存目录 |
| hftoken | 密钥 | 条件性 | ${HFTOKEN} | HuggingFace 令牌(公开模型可选,受限模型必需) |
| maxmodellen | 整数 | 否 | 自动检测 | 最大序列长度 |
| gpumemoryutilization | 浮点数 | 否 | 0.85 | GPU 内存利用率 |
| auto_install | 布尔值 | 否 | true | 自动安装依赖项 |
| log_level | 字符串 | 否 | INFO | 日志记录详细程度 |

输出结构

所有部署产物必须保存到:

$HOME/vllm-compose/<模型ID-斜杠转短横线>/

将模型 ID 转换为目录名称,方法是将 / 替换为 -:

  • - openai/gpt-oss-20b → $HOME/vllm-compose/openai-gpt-oss-20b/
  • Qwen/Qwen3-Coder-Next-FP8 → $HOME/vllm-compose/Qwen-Qwen3-Coder-Next-FP8/

每个模型的目录结构:

$HOME/vllm-compose/<模型ID>/
├── deployment.log # 完整部署日志(stdout + stderr)
├── test-results.json # 功能测试结果(JSON 格式)
├── docker-compose.yml # 生成的 Docker Compose 文件
├── .env # HF_TOKEN 环境变量(chmod 600,可选)
└── DEPLOYMENT_REPORT.md # 人类可读的部署摘要

文件要求:

  • - deployment.log — 捕获部署期间的所有容器日志
  • test-results.json — 保存功能测试请求的 API 响应
  • DEPLOYMENT_REPORT.md — 在阶段 7 中生成
  • 标记部署完成前,三个文件必须全部存在

执行工作流

阶段 0:环境检查与自动修复

步骤 0.1:加载环境变量

bash

加载 ~/.bashprofile 以获取 HFHOME 和 HF_TOKEN


source ~/.bash_profile

如果未定义 HF_HOME,默认为 /root/.cache/huggingface/hub

如果 ~/.bashprofile 中未定义 HFHOME,则默认为 /root/.cache/huggingface/hub。

步骤 0.2:创建输出目录

  • - 创建:$HOME/vllm-compose/<模型ID>/

步骤 0.3:初始化日志记录

  • - 所有输出 → $HOME/vllm-compose/<模型ID>/deployment.log

步骤 0.4:系统检查

  • - 检测操作系统和包管理器
  • 检查 Python、pip、huggingface_hub
  • 检查 Docker、docker compose
  • 检查 ROCm 工具(rocm-smi/amd-smi)
  • 检查 GPU 访问权限(/dev/kfd、/dev/dri)
  • 检查磁盘空间(最低 20GB)

阶段 1:模型下载

使用阶段 0 中的 HF_HOME(环境变量或默认值):

bash

下载模型到 HF_HOME


huggingface-cli download <模型ID> --local-dir $HF_HOME/hub/models--<组织>--<模型>

或通过 Python 使用 snapshot_download:

python -c from huggingfacehub import snapshotdownload; snapshotdownload(repoid=<模型ID>, cachedir=$HFHOME)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 rocm-vllm-deployment-1776287065 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 rocm-vllm-deployment-1776287065 技能

通过命令行安装

skillhub install rocm-vllm-deployment-1776287065

下载

⬇ 下载 rocm_vllm_deployment v1.0.0(免费)

文件大小: 9.97 KB | 发布时间: 2026-4-16 17:42

v1.0.0 最新 2026-4-16 17:42
Initial release - Deploy vLLM on AMD ROCm GPUs

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部