Windows 离线一键部署 CosyVoice2-0.5B(Docker 单命令版)
Windows 离线一键部署 CosyVoice2-0.5B(Docker 单命令版)

Windows 离线一键部署 CosyVoice2-0.5B(Docker 单命令版)

全程断网可跑,5 分钟搞定,复制即能用。

一、一次性准备(断网也够用)

  1. 安装 Docker Desktop 官网下载 → 勾选 Use WSL2 based engine → 启动。
  2. 检查 GPU 驱动 PowerShell 执行:nvidia-smi右上角出现 CUDA Version: 12.x 即可,无需额外装 CUDA Toolkit
  3. 构建官方基础镜像(仅需一次)git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git cd CosyVoice docker build -f runtime/python/Dockerfile -t cosyvoice2:v2.0 .
  4. 下载并解压 3 份模型/资源 全部放到 D:\CosyVoice\pretrained_models,结构如下:D:\CosyVoice\pretrained_models
    ├─ CosyVoice2-0.5B         ≈3 GB   主模型
    ├─ wetext                   ≈80 MB G2P前端
    └─ CosyVoice-ttsfrd         ≈1.2 GB 资源包(必须)下载地址:解压后保持文件夹名一致,否则挂载失败。

二、单命令启动(复制即跑)

打开 PowerShell,一行回车:

docker run -d --gpus all --name cv2 -p 8000:8000 -v D:/CosyVoice/pretrained_models/CosyVoice2-0.5B:/workspace/pretrained_models/CosyVoice2-0.5B -v D:/CosyVoice/pretrained_models/wetext:/root/.cache/modelscope/hub/pengzhendong/wetext -e BATCH_SIZE=1 --entrypoint bash cosyvoice2:v2.0 -c "pip uninstall -y deepspeed ruamel.yaml ruamel.yaml.clib && pip install 'ruamel.yaml<0.18' --no-deps && python3 -u /opt/CosyVoice/CosyVoice/webui.py --port 8000 --model_dir /workspace/pretrained_models/CosyVoice2-0.5B"

三、验证 & 使用

  1. 等待日志输出docker logs -f cv2出现:Running on local URL: http://0.0.0.0:8000按 Ctrl+C 退出日志。
  2. 浏览器打开http://localhost:8000输入文本 → 选音色 → Generate,2-3 秒出音频。

四、常用操作

任务命令
再次启动docker start cv2
停止docker stop cv2
查看日志docker logs -f cv2
删除容器docker rm cv2

模型已落地本地,重启无下载,完全离线。

五、打造自己的镜像(推送到 Docker Hub)

把刚才“每次 pip 降级”这种临时动作固化到镜像里,以后任何机器一条 docker run benson80/cosyvoice2 就能跑,无需再下载模型、再卸载 deepspeed

1. 准备 Dockerfile(与官方同步,仅加三行修复)

新建空文件夹,放入文件 Dockerfile

# 与官方 runtime 保持一致
FROM cosyvoice2:v2.0

# 1. 提前卸掉会编译报错的包
RUN pip uninstall -y deepspeed ruamel.yaml ruamel.yaml.clib \
&& pip install --no-cache-dir "ruamel.yaml<0.18" --no-deps

# 2. 把默认工作目录切到 CosyVoice 代码根
WORKDIR /opt/CosyVoice/CosyVoice

# 3. 声明启动命令(模型路径留空,让用户挂载)
CMD ["python3", "-u", "webui.py", "--port", "8000", "--model_dir", "/workspace/pretrained_models/CosyVoice2-0.5B"]

2. 本地构建 & 打标签

docker build -t benson80/cosyvoice2:latest .

3. 登录并推送

docker login
docker push benson80/cosyvoice2:latest

首次推送完成后,你的公开仓库就有了 “开箱即用” 的 CosyVoice2 镜像。

4. 使用自己的镜像(任意机器)

模型准备步骤不变,只是镜像名换成自己的:

docker run -d --gpus all --name cv2 -p 8000:8000 -v D:/CosyVoice/pretrained_models/CosyVoice2-0.5B:/workspace/pretrained_models/CosyVoice2-0.5B -v D:/CosyVoice/pretrained_models/wetext:/root/.cache/modelscope/hub/pengzhendong/wetext -e BATCH_SIZE=1 benson80/cosyvoice2

无需再 pip 降级、无需再卸载 deepspeed,日志直接出现:

Running on local URL: http://0.0.0.0:8000

浏览器打开 http://localhost:8000 立即合成语音!

至此,你拥有:

  • 一份 离线可用 的详细部署教程
  • 一个 修复好依赖 的公开镜像 benson80/cosyvoice2
  • 任何 Windows/WSL2 机器,复制一行命令即可跑 CosyVoice2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Title - Artist
0:00