feat: 调度器+并发管线+GPU优化+日志分级+前端修复

- scheduler: ffmpeg 异步线程 + GPU 串行调度 + 模型复用(2N→2 次加载)
- pipeline: 阶段拆分(extract/asr/translate),中间数据存 Task 字段
- translate_service: 长度排序批处理,padding 浪费减少 91%
- model_manager: ASR/翻译不共驻,BatchedInferencePipeline 批量解码
- 日志分级: INFO=任务流转里程碑,DEBUG=进度详情;默认 INFO
- 前端: 日志最新在上+滚动感知+退避轮询;24h 时间;上传中状态显示
- /health: 返回完整 Whisper/NLLB 配置
- upload_service: 单事务 complete + 扩展名白名单
- task_router: 合并 UploadSession 虚拟任务到列表
- Dockerfile: CPU/GPU 独立构建链,deps 缓存稳定
- prefetch_models: 安装时预下载模型权重
This commit is contained in:
audio2text dev
2026-07-06 21:59:59 +08:00
parent 00e2a95fb7
commit 73110848f4
30 changed files with 1238 additions and 259 deletions

View File

@@ -30,6 +30,7 @@ asr:
language: en
word_timestamps: true
vad_filter: true
batch_size: 8 # CPU 无 GPU 并行收益,保持小批
translation:
model: Helsinki-NLP/opus-mt-en-zh # 最轻量英译中(~300MBNLLB-600M 需 ~2.4GB2GB 机 OOM
@@ -38,6 +39,7 @@ translation:
tgt_lang: zho_Hans
batch_size: 8 # opus-mt 轻量batch 适中
max_length: 256
sort_by_length: true # 排序分批CPU 收益小,但无害)
segmentation:
max_words_per_line: 14
@@ -47,7 +49,7 @@ segmentation:
logging:
level: info # debug=详细子步骤, info=仅阶段转换, error=完整 traceback
level: info # debug | info | warning | error控制台最低级别
buffer_size: 2000
docs: