选择 AngeVoice 运行模式
部署方式决定用 CPU 还是 GPU;运行模式决定模型什么时候加载、怎样释放,以及故障后如何恢复。
推荐默认:按需加载并隔离模型
- 服务启动快,首次请求时才加载模型。
- 切换或取消卡住的任务时,可以结束对应模型进程,不影响 API 主服务。
- 空闲后可释放 RAM/VRAM,更适合 NAS 和单卡设备。
KOKORO_PROCESS_ISOLATION_ENABLED=true
MOSS_PROCESS_ISOLATION_ENABLED=true
ZIPVOICE_PROCESS_ISOLATION_ENABLED=true
ANGEVOICE_STARTUP_PRELOAD_ENABLED=false
ANGEVOICE_MODEL_UNLOAD_ON_SWITCH=true
什么时候开启启动预载
只有在固定使用一个模型、内存充足且首个请求延迟很重要时开启。预载仍建议通过模型进程完成,而不是把权重放进 API 主进程。
ANGEVOICE_STARTUP_PRELOAD_ENABLED=true
ANGEVOICE_STARTUP_PRELOAD_MODEL=kokoro
什么时候保持模型常驻
连续短请求、服务专用于一种模型时,可以延长空闲超时。不要在显存紧张的单卡设备上同时常驻 MOSS、ZipVoice 和其他生成模型。
空闲后彻底清理
部分 CUDA 或 ONNX Runtime 环境在模型卸载后仍会保留少量底层资源。只有确认容器或服务管理器能自动拉起进程时,才启用空闲后彻底清理。
彻底清理不是普通空闲卸载。它会让服务进程退出并依赖 restart 策略恢复,默认应保持关闭。
快速选择
| 环境 | 建议 |
|---|---|
| NAS / 内存有限 | 按需加载 + 进程隔离 + 空闲卸载 |
| 专用实时语音服务 | 预载 Kokoro,保持单模型常驻 |
| 克隆任务偶尔使用 | Kokoro 常用;ZipVoice/MOSS 按需加载 |
| 模型任务偶发卡死 | 保持进程隔离,不要改成线程内常驻 |