SuperAPI AI 工具集

huawei-cloud-modelarts-vllm-ascend-model-deploy

部署与运维

查看项目

更新于 10-15 16:56

技能介绍

概述

本技能用于在华为云 ModelArts 推理平台上,通过 vLLM-Ascend 推理框架部署开源大语言模型(GLM、Qwen、DeepSeek、Llama 等),并提供 OpenAI 兼容的 RESTful API。适用于将 HuggingFace、ModelScope 等社区模型部署到昇腾 NPU 环境的完整流程。

官方声明:本部署方案基于 vLLM-Ascend 开源社区提供的模型与镜像,仅适用于功能验证、原型测试等场景;生产环境的高可用、安全合规、可观测性及运维管控要求,请勿直接将本方案用于业务生产。模型能力与性能取决于开源社区。

主要能力与流程

技能覆盖以下核心步骤:

  • 模型权重准备:确认部署模型、查模型文档、与用户确认部署形式、确认权重就绪并放置到 OBS。
  • 部署镜像准备:按模型文档与部署形式确定版本与 tag,确认 SWR 镜像就绪状态。
  • 脚本准备:按部署形式选用专用模板,填充模型文档参数,生成 start_vllm.sh / health_check.sh,产物自检后通过 OBS SDK 上传。
  • 新版在线部署:支持 API 自动(create_infer_service.py 调 CreateInferService)或控制台手动两种方式,以 SWR 镜像加 OBS 挂载部署。
  • 验证部署与调用验证:查询服务状态确认 RUNNING,并通过 OpenAI 兼容 API 调用 /v1/chat/completions。

部署形式决策

部署形式收敛为四种:single(单节点)、multinode(多节点)、pd(PD 分离)、pd_colocate(PD 共置)。确认模型后必须先从模型文档明确推荐形式,并与用户确认后固定为方案输入。脚本按确认形式生成专用版本,不再通过 DEPLOY_FORM 环境变量做运行时分支。

平台适配与关键注意事项

技能包含 ModelArts 平台适配要点:端口 8080、OBS 挂载、超节点亲和组、PD 分离、Mooncake KV 传输。API 部署包含多项前置校验,例如请求体顶层平铺结构、group_configs[].secret_type 设为 agency、runtime_config.service_invoke.port 与启动脚本 PORT 一致(8080)、健康检查参数(failure_threshold=300 / initial_delay_seconds=300 / period_seconds=60)、service_limit 三项必填、部署超时时间统一 300 分钟(deploy_timeout_minutes: 300)、所有环境 API 调用需带 X-Workspace-Id 头,以及 list API 需使用 URL 查询参数 ?workspace_id=<id> 进行过滤。

安全编码规范

通过工具调用的参数在拼接进命令前必须校验:

  • URL 白名单校验:白名单包括 docs.vllm.ai、quay.io、huggingface.co、modelscope.cn、*.myhuaweicloud.com、127.0.0.1/localhost;不在白名单的 URL 一律拒绝执行。
  • 用户输入校验:模型名、OBS 路径、SWR 地址、服务名、workspace-id 等需先做格式校验,非法输入拒绝执行。
  • 禁止未校验拼接:禁止将用户输入直接拼进 shell 命令或 JSON 请求体。

约束与限制

  • 目标模型需在 vllm-ascend 官方支持列表中;模糊模型名必须列全候选并与用户确认。
  • 多节点与 PD 分离部署需确保节点间网络互通,依赖 HCCL 通信与 KV Cache 传输。
  • 需确认区域是否有昇腾 NPU 专属资源池,以及资源池是否支持多节点资源。
  • 需确认目标资源池的芯片型号(910B 系列 / 910C(A3) / 310P 等)与卡数,直接影响模型选型与启动参数。
  • 镜像中 CANN / torch_npu / vllm-ascend 版本需按官方配套表匹配。
  • KooCLI 为可选替代方式,核心部署操作默认使用 Python 脚本与 curl。

前置条件

需确认华为云账号已开通 ModelArts、OBS、SWR 并完成实名认证;准备 OBS 桶、SWR 镜像仓库、昇腾 NPU 资源池、ModelArts 域名与环境、工作空间名、部署形式与节点数、模型权重来源与 OBS 路径、网络可达性以及所需工具(OBS Python SDK、obsutil、SWR 凭据、docker)。具体价格、收费、平台支持细节与性能数据暂未提供。