原 883 行单体 README 信息密度过高且重复(配置差异表出现 2 次、缓存说明 散落多处)。按主题拆分: 主页 README.md (150行): - 一句话简介 + 功能特性(精简) + 架构(目录树+数据流) + 快速开始 - 文档索引表(链接到 6 个子文档,每行一句话说明) - 入口地址表 + 依赖(精简) docs/ 子文档(原样搬运,不重写): - DEPLOYMENT.md (170行) CPU/GPU 部署、模型选型、CPU↔GPU 切换 - CONFIG.md (187行) 配置差异表、完整字段表、配置示例 - DOCKER.md (185行) 构建/重建/缓存分层/until根因/Volume - API.md (70行) HTTP接口表、分片上传协议、示例 - ARCHITECTURE.md(140行) 断句算法、显存策略、GPU优化、缓存清理 - FAQ.md (42行) 6 条常见问题 每个子文档顶部加「← 返回主页」链接,相关处加交叉引用 (如 DEPLOYMENT 提到缓存时链接 DOCKER.md)。无内容丢失。
43 lines
2.1 KiB
Markdown
43 lines
2.1 KiB
Markdown
← [返回主页](../README.md)
|
||
|
||
# 常见问题
|
||
|
||
---
|
||
|
||
### Q: CPU 开发机能跑 NLLB 吗?
|
||
|
||
`config.cpu.yaml` 默认用 opus-mt-en-zh(~300MB),2GB 内存开发机即可跑通完整流程。
|
||
若想在 CPU 上验证 NLLB 翻译质量,可手动改 `translation.model`:
|
||
- `facebook/nllb-200-distilled-600M`(~1.2GB,同系列最小)——需 ≥4GB 内存,2GB 机会 OOM。
|
||
- `facebook/nllb-200-distilled-1.3B`(~2.5GB,GPU 生产同款)——需 ~5GB 内存。
|
||
|
||
生产环境(3090 24G)用 NLLB-1.3B 质量最好。
|
||
|
||
### Q: 模型下载到哪里?每次启动都重下吗?
|
||
|
||
模型缓存到 `/models` volume(`HF_HOME=/models/huggingface`、`CT2_CACHE=/models/ctranslate2`)。
|
||
首次启动下载,之后跨容器复用秒起。删除 `./models` 目录会强制重下。
|
||
|
||
### Q: 上传大视频中断了怎么办?
|
||
|
||
分片上传支持断点续传。重新上传同一文件时,前端先调 `status` 接口查已传分片,只补传缺失的。
|
||
分片可乱序、可重传覆盖。
|
||
|
||
### Q: 怎么保留原始视频不删?
|
||
|
||
把 `config.yaml` 的 `processing.delete_original_after_extract` 改为 `false`。
|
||
注意:保留的视频仍受缓存清理策略约束——任务超期(默认 7 天)后会被 `cache_cleaner`
|
||
连同字幕一起删除。想永久保留请把 `storage.cache_retention_days` 设为 `0`(禁用清理)。
|
||
|
||
### Q: 字幕 / 任务记录多久会被自动清理?能禁用吗?
|
||
|
||
默认保留 7 天(`storage.cache_retention_days`)。超期任务的字幕、中间音频、保留的原始
|
||
视频连同 DB 记录一并删除,启动时跑一次 + 每 `cache_cleanup_interval_hours`(默认 24h)
|
||
循环一次。设 `cache_retention_days: 0` 可禁用自动清理(产物永久保留,需自行管理磁盘)。
|
||
手动触发:`docker exec audio2text python -m app.services.cache_cleaner`。
|
||
|
||
### Q: GPU 镜像构建好了但 start.sh 还是用 CPU?
|
||
|
||
`start.sh` 检测到 `audio2text:gpu` 镜像**且**本机有 `nvidia-smi` 才用 GPU。确认宿主装了
|
||
NVIDIA 驱动 + nvidia container runtime。也可用 `docker compose --profile gpu up -d` 显式启动。
|