vLLM-Omni¶
vLLM-Omni 是 vLLM 项目的官方全模态服务栈,原生支持 VoxCPM2。
VoxCPM2 示例:online_serving/voxcpm2
安装文档:vLLM-Omni docs
如果你的生产部署需要并发请求、连续批处理或多租户 GPU 服务,这是当前推荐的方案。
特性¶
基于上游 vLLM 调度器的原生 VoxCPM2 服务
面向并发推理负载的连续批处理
PagedAttention KV 缓存管理
OpenAI 兼容的
/v1/audio/speech接口支持流式分块输出和多 GPU 部署
前置条件¶
vLLM-Omni 支持的 Linux + GPU 环境
已安装
uv的 Python 环境能够访问
openbmb/VoxCPM2模型权重
安装¶
建议从源码安装。上游项目迭代较快,除非你的部署环境已经固定版本,否则优先使用最新的 main 分支:
uv pip install vllm==0.19.0 --torch-backend=auto
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
uv pip install -e .
其他平台(如 ROCm、XPU、MUSA、NPU)以及基于 Docker 的安装方式,请参考上游安装文档。
部署 VoxCPM2 服务¶
启动一个 OpenAI 兼容的 TTS 服务:
vllm serve openbmb/VoxCPM2 --omni --port 8000
你可以从任意 OpenAI 兼容客户端发起语音生成请求:
curl http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model":"openbmb/VoxCPM2","input":"Hello from VoxCPM2 on vLLM-Omni!","voice":"default"}' \
--output out.wav
说明¶
备注
如果你的负载需要高并发,这种服务架构通常比在同一张 GPU 上运行多个彼此独立、经过 torch.compile 优化的 VoxCPM 进程更合适。
小技巧
如果你更需要一个较轻量、原生 Python 的同步 / 异步 API 服务栈,可以参考 NanoVLLM-VoxCPM。