本文档介绍如何通过环境变量启动 FunSpeech 服务,特别是 CPU 版本。
启动 CPU 版本:
# 一行命令启动 CPU 版本
TTS_GPUS=cpu ASR_GPUS=cpu python start.py
# 或者导出环境变量后启动
export TTS_GPUS=cpu
export ASR_GPUS=cpu
python start.py启动 GPU 版本:
# 使用 GPU 0
TTS_GPUS=0 ASR_GPUS=0 python start.py
# 使用多个 GPU
TTS_GPUS=0,1 ASR_GPUS=0,1 python start.py开发调试模式:
# CPU + 调试模式
DEBUG=true TTS_GPUS=cpu ASR_GPUS=cpu python start.py
# GPU + 调试模式
DEBUG=true TTS_GPUS=0 ASR_GPUS=0 python start.pyCPU 版本:
./start_cpu.sh自定义配置:
# 设置 Worker 数量
WORKERS=2 ./start_cpu.sh
# 设置端口和调试模式
PORT=9000 DEBUG=true ./start_cpu.sh| 环境变量 | 说明 | 示例 |
|---|---|---|
TTS_GPUS |
TTS GPU 配置 | cpu, 0, 0,1 |
ASR_GPUS |
ASR GPU 配置 | cpu, 0, 0,1 |
| 环境变量 | 说明 | 默认值 | 示例 |
|---|---|---|---|
HOST |
服务绑定地址 | 0.0.0.0 |
127.0.0.1 |
PORT |
服务端口 | 8000 |
9000 |
DEBUG |
调试模式 | false |
true |
| 环境变量 | 说明 | 默认值 | 示例 |
|---|---|---|---|
WORKERS |
Worker 进程数 | 1 |
2 |
INFERENCE_THREAD_POOL_SIZE |
推理线程池大小 | auto |
4 |
| 环境变量 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
LOG_LEVEL |
日志级别 | INFO |
DEBUG, INFO, WARNING, ERROR |
| 环境变量 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
ASR_MODEL_MODE |
ASR 模型加载模式 | all |
realtime, offline, all |
TTS_MODEL_MODE |
TTS 模型加载模式 | all |
all, cosyvoice1, cosyvoice2 |
DEBUG=true TTS_GPUS=cpu ASR_GPUS=cpu python start.pyWORKERS=4 \
INFERENCE_THREAD_POOL_SIZE=2 \
LOG_LEVEL=INFO \
TTS_GPUS=cpu \
ASR_GPUS=cpu \
python start.pyDEBUG=true \
LOG_LEVEL=DEBUG \
PORT=8000 \
TTS_GPUS=cpu \
ASR_GPUS=cpu \
python start.pyASR_GPUS=cpu \
TTS_GPUS=0 \
WORKERS=2 \
python start.py# 创建 .env 文件
cat > .env << EOF
TTS_GPUS=cpu
ASR_GPUS=cpu
DEBUG=true
WORKERS=2
LOG_LEVEL=INFO
EOF
# 加载环境变量并启动
export $(cat .env | xargs)
python start.py-
CPU 模式性能较慢:CPU 模式推理速度比 GPU 慢 5-10 倍,适合:
- 开发测试
- 无 GPU 环境
- 低并发场景
-
Worker 配置:
- CPU 模式:建议
WORKERS=CPU核心数/2 - GPU 模式:建议
WORKERS=显存GB/8
- CPU 模式:建议
-
调试模式:
DEBUG=true时启用 API 文档(访问/docs)DEBUG=true时启用代码热重载(仅单 Worker 模式)
-
端口冲突:
main.py会自动查找可用端口- 或使用
PORT=9000指定端口
| 脚本 | 用途 | 推荐场景 |
|---|---|---|
start.py |
标准启动脚本,支持所有环境变量 | 通用,推荐使用 |
start_cpu.sh |
CPU 版本快速启动脚本 | 快速测试 CPU 版本 |
main.py |
主程序入口,自动端口选择 | 开发调试 |