# audio2text 运行时配置模板。 # 复制为 config.yaml 后填值。所有路径相对容器内 /app。 # # CPU dev / GPU prod 仅靠 asr + translation 两段的 device/model/compute_type/batch_size 切换。 # 下方注释标注了 CPU(开发)与 GPU(生产)的推荐值对照。 # 完整对照:CPU 用 ./setup.sh(默认),GPU 用 AUDIO2TEXT_VARIANT=gpu ./setup.sh。 server: host: 0.0.0.0 # 容器内对外监听(由 docker -p 映射到宿主) port: 8000 workers: 1 # ML 推理为重,固定单 worker 避免显存重复占用 storage: upload_dir: /data/uploads # 上传视频落盘根目录 work_dir: /data/.work # 分片会话暂存 + 中间音频 output_dir: /data/outputs # 生成的 SRT 字幕输出 chunk_bytes: 1048576 # 1 MiB 服务端流式读缓冲(前端分片大小由前端定) chunk_session_ttl_seconds: 300 # 被放弃会话的存活秒数(后台 reaper 据此清理) cache_retention_days: 7 # 任务产物保留天数,超期清理(0=禁用) cache_cleanup_interval_hours: 24 # 定时清理间隔(启动时跑一次,之后循环) processing: delete_original_after_extract: true # 提取音频成功后删除原始视频,省空间 keep_audio: false # 完成后是否保留中间 wav(默认删,只留字幕) asr: # CPU dev:tiny.en + int8(Whisper 同系列最小,英文专用,~39M) # GPU prod:large-v3-turbo + float16(8x 速度,质量接近 large-v3,~3GB 显存) model: tiny.en # CPU: tiny.en | GPU: large-v3-turbo device: cpu # cpu | cuda compute_type: int8 # CPU: int8 | GPU: float16 language: en # 仅英语 word_timestamps: true # 词级时间戳:让断句精确而非纯匀速估算 vad_filter: true # 过滤静音段,提升质量与速度 batch_size: 8 # CPU: 8 | GPU: 32(BatchedInferencePipeline 批量解码音频块,拉长单次 GPU 解码掩盖 CPU 特征提取间隙) beam_size: 5 # CPU: 5(默认)| GPU: 2(turbo 鲁棒可降,候选数↓解码步数↓,加速明显质量损失小) translation: # CPU dev:Helsinki-NLP/opus-mt-en-zh(~300MB,2GB 内存可跑) # GPU prod:facebook/nllb-200-distilled-1.3B(质量最好,~2.5GB 显存) # 注意:model 与 device 必须配套——GPU 模型配 CPU device 会 OOM,反之浪费硬件。 model: Helsinki-NLP/opus-mt-en-zh # CPU: opus-mt-en-zh | GPU: facebook/nllb-200-distilled-1.3B device: cpu # cpu | cuda src_lang: eng_Latn # NLLB 语言码:英语 tgt_lang: zho_Hans # NLLB 语言码:简体中文 batch_size: 8 # CPU: 8 | GPU: 32(不共驻时显存独占可用大 batch) max_length: 256 # 单条翻译最大 token sort_by_length: true # 按长度排序后分批,减少 padding 浪费(GPU 收益大) segmentation: max_words_per_line: 14 # 单行最多词数,超出按逗号拆 max_duration_seconds: 7.0 # 单条字幕最长 7 秒 min_duration_seconds: 1.0 # 单条字幕最短 1 秒(太短则合并) max_chars_per_line: 42 # SRT 规范:每行 ≤42 字符 logging: level: info # debug | info | warning | error(控制台最低级别) buffer_size: 2000 # /logs 页面内存缓冲条数 docs: enabled: true username: admin password: "CHANGE_ME" # 部署前务必修改;留空则禁用 /docs realm: "audio2text docs"