Add TTS markdown sanitization and expand deployment docs.
Strip Markdown and stage directions before ChatTTS synthesis with chunked long scripts; document model pre-download, server-update, and microphone HTTPS notes. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -66,12 +66,30 @@ bash deploy.sh
|
||||
|
||||
浏览器访问:`http://<服务器IP>:5683`
|
||||
|
||||
日常更新:
|
||||
**首次部署后必做 — 预下载 AI 模型**(内网服务器无外网时必需,否则 Whisper 报 `Network is unreachable`):
|
||||
|
||||
```bash
|
||||
cd /opt/Trading_Studio && bash deploy.sh update
|
||||
cd /opt/Trading_Studio
|
||||
bash scripts/download_all_models.sh
|
||||
pm2 restart trading_studio
|
||||
```
|
||||
|
||||
日常更新(代码已 `git push` 到远端后,在服务器执行):
|
||||
|
||||
```bash
|
||||
cd /opt/Trading_Studio
|
||||
bash server-update.sh
|
||||
```
|
||||
|
||||
若更新涉及模型脚本或首次部署,追加:
|
||||
|
||||
```bash
|
||||
bash scripts/download_all_models.sh
|
||||
pm2 restart trading_studio
|
||||
```
|
||||
|
||||
完整说明见 [DEPLOY.md §0.4.2 / §0.8](./DEPLOY.md)。
|
||||
|
||||
### 手动部署(开发调试)
|
||||
|
||||
```bash
|
||||
@@ -116,7 +134,9 @@ python app.py
|
||||
| 中控端口 | `5683`(`0.0.0.0` 局域网可访问) |
|
||||
| Ollama 地址 | `http://192.168.8.64:11434` |
|
||||
| 模型名称 | `huihui_ai/gemma-4-abliterated:e4b` |
|
||||
| Whisper 模型 | `small` / CUDA / float16 |
|
||||
| Whisper 模型 | `small` / CUDA / float16,本地路径 `models/whisper/small/` |
|
||||
| ChatTTS 模型 | `models/ChatTTS/`(须预下载脚本) |
|
||||
| HF 镜像 | `HF_ENDPOINT=https://hf-mirror.com`(`.env` 可改) |
|
||||
| 音色文件 | `speaker_emb.pt` |
|
||||
| 音频输出 | `outputs/` 目录 |
|
||||
|
||||
@@ -170,16 +190,25 @@ outputs/
|
||||
```
|
||||
Trading_Studio/
|
||||
├── deploy.sh # 一键部署脚本(/opt + PM2)
|
||||
├── server-update.sh # 强制同步远端 main + PM2 重启
|
||||
├── app.py # Gradio 主入口
|
||||
├── config.py # 全局配置
|
||||
├── whisper_service.py # Whisper CUDA 识别
|
||||
├── config.py # 全局配置(Ollama 等请用 .env 覆盖)
|
||||
├── whisper_service.py # Whisper CUDA 识别(优先本地模型)
|
||||
├── llm_service.py # Ollama 远程润色
|
||||
├── tts_service.py # ChatTTS 音色与合成
|
||||
├── tts_service.py # ChatTTS 音色与合成(优先本地模型)
|
||||
├── scripts/
|
||||
│ ├── download_all_models.sh # Whisper + ChatTTS 一键下载
|
||||
│ ├── download_whisper_models.sh
|
||||
│ └── download_chattts_models.sh
|
||||
├── models/ # AI 模型(预下载,不入 Git)
|
||||
│ ├── whisper/small/
|
||||
│ └── ChatTTS/
|
||||
├── ecosystem.config.js # PM2 守护配置
|
||||
├── requirements.txt # Python 依赖
|
||||
├── .env.example # 服务器本地配置模板 → 复制为 .env
|
||||
├── README.md # 本文件
|
||||
├── DEPLOY.md # 部署指南(含一键部署教程)
|
||||
├── PWA_NPS.md # 云服务器反代 + NPS 穿透 + PWA 安装教程
|
||||
├── DEPLOY.md # 部署指南(含模型预下载、故障排查)
|
||||
├── PWA_NPS.md # HTTPS / NPS 穿透 / 手机麦克风教程
|
||||
├── .gitignore
|
||||
├── speaker_emb.pt # 音色文件(运行时生成,不入库)
|
||||
├── uploads/ # 上传临时目录
|
||||
@@ -201,11 +230,20 @@ Trading_Studio/
|
||||
|
||||
## 常见问题
|
||||
|
||||
**Q: Whisper 报 `Network is unreachable`?**
|
||||
A: 内网服务器无法访问 HuggingFace。执行 `bash scripts/download_whisper_models.sh small`,确认 `models/whisper/small/model.bin` 存在后 `pm2 restart trading_studio`。详见 [DEPLOY.md §0.8](./DEPLOY.md)。
|
||||
|
||||
**Q: Whisper 报 CUDA 错误?**
|
||||
A: 确认 `nvidia-smi` 正常,且未同时运行其他占显存任务。Whisper 使用 `float16` 已针对 8GB 优化。
|
||||
A: 确认 `nvidia-smi` 正常,且未同时运行其他占显存任务。Whisper 使用 `float16` 已针对 8GB 优化。可在 `.env` 设置 `WHISPER_MODEL_SIZE=base` 并重新下载。
|
||||
|
||||
**Q: ChatTTS 报 GitHub / 下载超时?**
|
||||
A: 执行 `bash scripts/download_chattts_models.sh`,或一键 `bash scripts/download_all_models.sh`。
|
||||
|
||||
**Q: Ollama 连接失败?**
|
||||
A: 在服务器上执行 `curl http://192.168.8.64:11434/api/tags` 验证连通性,确认模型已 `ollama pull`。
|
||||
A: 在服务器上执行 `curl http://192.168.8.64:11434/api/tags` 验证连通性,确认模型已 `ollama pull`。Ollama IP 写在 `.env` 的 `OLLAMA_HOST`。
|
||||
|
||||
**Q: 手机显示「找不到麦克风」?**
|
||||
A: `http://内网IP:5683` 非 HTTPS,浏览器禁用麦克风。请按 [PWA_NPS.md](./PWA_NPS.md) 配置 HTTPS 域名,或改用 Web UI **「上传」** 录音文件。
|
||||
|
||||
**Q: TTS 音色不稳定?**
|
||||
A: 重新锁定音色,填写参考音频精确转写,并保持 `temperature=0.3` 低随机性。
|
||||
|
||||
Reference in New Issue
Block a user