选择文件格式
将 YAML 用于评估集。- 将一个共享源字符串归入组一
tests - 在
locales下定义一个或多个区域设置变体 - 可选择在
experiments下定义模型变体 - 可选地在
judge下定义 judge 配置 - 将受信任的目标端文本放在
reference下 - 仅在你需要明确的通过/失败预期时添加
assert
YAML 示例
最小示例
格式规则
experiments[]是可选的experiments[].provider和experiments[].model在存在实验时是必需的experiments[].id、experiments[].profile和experiments[].prompt是可选的judge是可选的judge.provider、judge.model、judge.prompt和judge.assertions[]是可选的tests[].id是必填项tests[].vars.source是必填项tests[].locales[]必须至少包含一个语言环境tests[].locales[].locale是必填项vars.query被接受为vars.source的别名vars.context是可选的locales[].reference是可选的,但当你有可信翻译时,它是正常的目标端字段- 顶级
assert是可选的,并适用于测试中的每个语言区域变体 - locale-level
assert是可选的,并且仅为该语言环境附加
实验规则
- 在想要让评估集本身定义要运行哪些模型时使用
experiments - 如果未设置 CLI 实验标志,则使用数据集
experiments - 如果你传入 CLI
--profile、--provider、--model或--prompt,则 CLI 会覆盖数据集experiments
法官规则
- 当你希望由评估集本身来定义 LLM 裁判配置时,请使用
judge judge.assertions接受与 CLI--assertion相同的断言名称- CLI
--eval-provider、--eval-model、--eval-prompt和--assertion逐字段覆盖数据集judge字段 - 如果请求了 judge 评估,并且 CLI 和 YAML 都未设置 provider/model,Hyperlocalise 将默认使用
openai和gpt-5.2
挑选具有代表性的覆盖范围
包含多种字符串类型,这样你就可以检测不同内容形式中的回归问题。- 简短的 UI 字符串:按钮、标签、菜单项和简洁的错误文本
- 长文本字符串:引导步骤、帮助文本、法律文案和事务性消息
- ICU 和复杂格式:复数规则、性别变体、select 语句,以及日期或数字格式化占位符
- 占位符和变量:诸如
{name}、%s或{{count}}这样的标记必须保持不变
让上下文尽量靠近每个案例
对于每种情况,存储一个稳定的 ID,并为审核者提供足够的上下文。- 将共享源文本保留在
vars.source - 在
vars.context中包含截图、功能名称或意图说明 - 当你已经有可信译文时,请将特定于语言区域的引用放在每个语言区域条目下
- 保持 ID 稳定,以便展开的案例在不同运行之间保持可比性
有意地使用断言
assert 是可选的。如果你省略它,eval 运行仍会生成启发式分数、可选的评判分数以及报告诊断信息。
当你确切知道输出中必须出现什么内容时,请使用确定性断言。
containsnot_containsequals
judge.translation_qualityjudge.factualityjudge.g_evaljudge.model_graded_closedqajudge.answer_relevancejudge.context_faithfulnessjudge.context_recalljudge.context_relevance
长期保持质量
将评估集视为生产测试数据。- 在 UI 或产品文案变更时,检查并更新该集合
- 移除不再映射到活动功能的过期案例
- 保持简单、中等和困难字符串之间的平衡
- 重复运行同一组,以便公平比较模型或提示词的变化