使用 uv 创建虚拟环境
推荐使用 uv 管理 Python 环境与依赖,确保环境隔离和依赖可复现。在项目根目录执行以下命令创建虚拟环境(以 Python 3.12 为例):
bash
uv venv .vllm --python 3.12
source .vllm/bin/activate
安装系统依赖
Qwen3-TTS 需要系统级音频工具支持。在 Debian/Ubuntu 系统中运行:
bash
sudo apt-get update
sudo apt-get install ffmpeg sox -y
安装 vLLM 核心
根据硬件平台选择对应版本的 vLLM:
x86_64 平台(CUDA 13.0)
bash
uv pip install \
https://github.com/vllm-project/vllm/releases/download/v0.16.0/vllm-0.16.0+cu130-cp38-abi3-manylinux_2_35_x86_64.whl \
--extra-index-url https://download.pytorch.org/whl/cu130 \
--index-strategy unsafe-best-match
ARM64 平台(CUDA 13.0)
bash
uv pip install \
https://github.com/vllm-project/vllm/releases/download/v0.16.0/vllm-0.16.0+cu130-cp38-abi3-manylinux_2_35_aarch64.whl \
--extra-index-url https://download.pytorch.org/whl/cu130 \
--index-strategy unsafe-best-match
构建 vLLM-Omni
从源码安装以获得最新功能和扩展能力:
bash
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
ARM64 平台需额外处理
编辑 vllm-omni/requirements/cuda.txt,注释掉 fa3-fwd==0.0.2 行后执行:
bash
uv pip install -e .
安装 Flash Attention(推荐)
高性能注意力实现可显著提升推理效率:
Flash Attention 2 安装
bash
git clone --depth=1 https://github.com/Dao-AILab/flash-attention
cd flash-attention
export MAX_JOBS=16 NVCC_THREADS=2 FLASH_ATTENTION_FORCE_BUILD="TRUE"
uv pip install -v --no-build-isolation .
启动推理服务
使用以下命令启动 Qwen3-TTS 服务:
bash
vllm serve Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice \
--stage-configs-path vllm_omni/model_executor/stage_configs/qwen3_tts.yaml \
--omni --port 8091 --trust-remote-code --enforce-eager
调用示例
进入示例目录测试功能:
基础 TTS 合成
bash
python openai_speech_client.py \
--text "Your input text here" \
--voice vivian \
--language English
声音克隆
bash
python openai_speech_client.py \
--model Qwen/Qwen3-TTS-12Hz-1.7B-Base \
--task-type Base \
--text "Cloned voice output" \
--ref-audio /path/to/reference.wav \
--ref-text "Reference transcript"