# dudu ASR 模型评估框架 横向对比**云端 gummy**(DashScope `gummy-realtime-v1`)与**本地开源模型**(faster-whisper / SenseVoice / Paraformer),重点覆盖**中英混说(code-switching)**,产出三类指标: | 维度 | 指标 | |---|---| | 准确率 | **MER**(中英混合错误率,headline)/ CER(字级)/ WER(词级) | | 速度 | 首包延迟、定稿延迟、RTF(处理时长 / 音频时长) | | 资源 | 本地:峰值内存 / 平均 CPU / 模型大小;云端:成本(¥/分钟) | ## 安装 ```bash cd eval python -m venv .venv && source .venv/bin/activate pip install -e . # 核心管线(含云端 gummy 评估能力) pip install -e '.[whisper]' # 加 faster-whisper 本地引擎 pip install -e '.[funasr]' # 加 SenseVoice / Paraformer(含 torch) pip install -e '.[all]' # 全部本地引擎 ``` ## 跑评估 ```bash # 冒烟:每个数据集取 5 条,只跑 gummy + whisper-small rbw get dashscope-api-key | python -m asr_eval run --sample-limit 5 --engines gummy,whisper-small # 只验证 gummy 连通 rbw get dashscope-api-key | python -m asr_eval run --engines gummy --datasets custom --sample-limit 3 # 全量(放开 sample_limit、在 config.yaml 里 enable 想跑的引擎/数据集) rbw get dashscope-api-key | python -m asr_eval run --config config.yaml ``` > gummy 的 API key 优先读环境变量 `DASHSCOPE_API_KEY`,否则读 stdin 首行—— > 遵全局规则用 `rbw get dashscope-api-key | ...` 管道传入,不落盘、不写 env 文件。 报告写到 `results/<时间戳>/`:`report.md`(终端友好)、`report.html`(表格)、 `report.json`(机器可读)、`results.jsonl`(每条样本明细,便于 debug 个案)。 ## 配置(`config.yaml`) - **数据集**:公共集统一 `type: hf`,差异全在配置(`hf_id`/`split`/`text_field`/`lang`)—— 广覆盖 / 换数据集只改配置不动代码。预置 ASCEND(中英混说)、AISHELL-1(纯中)、LibriSpeech(纯英)。 - **自定义集**:`type: custom` 指向 JSONL manifest,把自录/业务音频按 `manifests/custom.example.jsonl` 格式丢进来即可与公共集同管线评估。 - **引擎**:`enabled` 开关;本地引擎可选 `device`(cpu / 苹果芯片可试 mps)、whisper 的 `compute_type`。 ## 设计要点 - **gummy 协议**对照后端 `server/internal/asr/gummy.go` 移植(run-task/finish-task、`transcription` 与 `sentence` 双字段、`sentence_end` 的 bool/字符串兼容、3200B/16k/pcm 分帧)。 - **错误率语料级聚合**:累加 S/D/I/N 再求率,不对每条样本求率再平均(短句不会被放大)。 - **评分前归一化**:去标点、英文小写、繁→简、全/半角统一,否则中英混说分数失真。 - **公平性声明**:流式(gummy) vs 离线(本地)延迟口径不同(gummy RTF 含推流倍速与网络); 资源仅本地引擎测量,含 Python 进程基底——报告会标注硬件环境。 ## 已知约束 - ASCEND 在 HuggingFace 开放;AISHELL/LibriSpeech 首次会下载(数 GB,已 gitignore)。 - SEAME(更权威的中英混说集)需 LDC 付费授权,默认不含;有授权可加一个 hf/custom 适配条目。 - 本地模型权重大(whisper-large ≈1.5GB、SenseVoice ≈900MB),按需 enable。