"""统一样本模型:所有数据集适配器都产出 Sample,下游引擎/指标只认它。""" from __future__ import annotations from dataclasses import dataclass @dataclass class Sample: """一条评估样本。 lang 取值约定(决定 breakdown 归类): - "zh" 纯普通话 - "en" 纯英文 - "zh-en" 中英混说(code-switching,本框架重点) """ id: str audio_path: str # 16k/mono/16bit wav 优先;非此规格引擎侧会重采样 ref_text: str # 参考(标注)文本 lang: str = "zh" domain: str = "general" dataset: str = "custom" @property def category(self) -> str: """报告里的粗分类。""" if self.lang == "zh-en": return "code-switch" if self.lang == "en": return "pure-en" return "pure-zh"