ttsgenie / DEPLOYMENT.md
22333Misaka's picture
Upload 5 files
a287c67 verified
# 🚀 Hugging Face Space 部署指南
本指南将帮助你将 Genie-TTS OpenAI 兼容 API 部署到 Hugging Face Space。
## 📋 前置要求
1. Hugging Face 账号
2. 模型文件的下载链接(.pth 和 .ckpt)
3. 参考音频文件
## 🔧 部署步骤
### 步骤 1: 创建 Hugging Face Space
1. 访问 [Hugging Face Spaces](https://huggingface.co/spaces)
2. 点击 "Create new Space"
3. 填写信息:
- **Space name**: 选择一个名称,如 `genie-tts-api`
- **License**: MIT
- **SDK**: Docker
- **Hardware**: CPU Basic(免费)或更高配置
4. 点击 "Create Space"
### 步骤 2: 上传文件
将以下文件上传到你的 Space 仓库:
```
├── Dockerfile
├── app.py
├── requirements.txt
├── README.md
└── models/
└── liang/
└── config.json
```
**方法一:使用 Git**
```bash
# 克隆你的 Space 仓库
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
# 复制文件
cp -r /path/to/huggingface-space/* .
# 提交并推送
git add .
git commit -m "Initial deployment"
git push
```
**方法二:使用 Web 界面**
1. 在 Space 页面点击 "Files" 标签
2. 点击 "Add file" > "Upload files"
3. 上传所有必要文件
### 步骤 3: 等待构建
- Space 会自动开始构建 Docker 镜像
- 构建过程包括:
1. 安装依赖
2. 下载模型文件
3. 转换为 ONNX 格式
- 这个过程可能需要 10-30 分钟
### 步骤 4: 验证部署
构建完成后:
1. 访问健康检查端点:
```
https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health
```
2. 测试 API:
```bash
curl -X POST "https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/v1/audio/speech" \
-H "Content-Type: application/json" \
-d '{"model": "liang", "input": "你好,这是测试。"}' \
--output test.wav
```
## ⚙️ 自定义配置
### 添加新的语音模型
1. 修改 `Dockerfile`,添加新模型的下载和转换:
```dockerfile
# 下载新模型
RUN wget -O /app/temp/new_model.ckpt "YOUR_CKPT_URL" && \
wget -O /app/temp/new_model.pth "YOUR_PTH_URL" && \
wget -O /app/models/new_voice/reference/audio.wav "YOUR_REF_AUDIO_URL"
# 转换新模型
RUN python -c "
import genie_tts as genie
genie.convert_to_onnx(
torch_ckpt_path='/app/temp/new_model.ckpt',
torch_pth_path='/app/temp/new_model.pth',
output_dir='/app/models/new_voice/onnx'
)
"
```
2. 创建配置文件 `models/new_voice/config.json`
```json
{
"reference_audio": "reference/audio.wav",
"reference_text": "参考音频的文本内容",
"language": "Chinese"
}
```
### 修改模型下载链接
编辑 `Dockerfile` 中的以下部分:
```dockerfile
RUN wget -O /app/temp/model.ckpt "YOUR_NEW_CKPT_URL" && \
wget -O /app/temp/model.pth "YOUR_NEW_PTH_URL" && \
wget -O /app/models/liang/reference/audio.wav "YOUR_NEW_REF_AUDIO_URL"
```
### 支持的语言
修改 `config.json` 中的 `language` 字段:
- `Chinese` - 中文
- `English` - 英语
- `Japanese` - 日语
- `Korean` - 韩语
## 🐛 故障排除
### 构建失败
1. **检查日志**:在 Space 页面查看构建日志
2. **模型下载失败**:确保下载链接可访问
3. **内存不足**:升级到更高配置的硬件
### API 响应慢
- 免费版 CPU 推理较慢,考虑升级硬件
- 首次请求会加载模型,后续请求会更快
### 模型加载失败
1. 检查 ONNX 转换是否成功
2. 确保 `config.json` 配置正确
3. 检查参考音频文件是否存在
## 💡 优化建议
### 减少镜像大小
构建完成后删除 PyTorch:
```dockerfile
RUN pip uninstall -y torch && rm -rf /root/.cache/pip
```
### 使用 GPU
1. 在 Space 设置中选择 GPU 硬件
2. 修改 `requirements.txt` 使用 GPU 版本的依赖
### 私有部署
如果需要私有部署,可以将 Space 设置为私有,并使用 Hugging Face Token 访问。
## 📞 获取帮助
- [Genie-TTS GitHub Issues](https://github.com/High-Logic/Genie-TTS/issues)
- [Hugging Face Spaces 文档](https://huggingface.co/docs/hub/spaces)