跳转到主要内容
使用评估集来衡量对您最重要的字符串的翻译质量。

选择文件格式

将 YAML 用于评估集。
  • 将一个共享源字符串归入组一 tests
  • locales 下定义一个或多个区域设置变体
  • 可选择在experiments下定义模型变体
  • 可选地在 judge 下定义 judge 配置
  • 将受信任的目标端文本放在reference
  • 仅在你需要明确的通过/失败预期时添加 assert

YAML 示例

version: "1"
metadata:
  owner: localization
  suite: release-gate
experiments:
  - id: ollama-translategemma
    provider: ollama
    model: translategemma
  - id: ollama-lfm2-24b
    provider: ollama
    model: lfm2:24b
judge:
  provider: openai
  model: gpt-5.2
  assertions:
    - llm-rubric
    - factuality
tests:
  - id: checkout-cta
    vars:
      source: "Save account settings"
      context: "Primary CTA on the checkout settings page"
    locales:
      - locale: fr-FR
        reference: "Enregistrer les parametres du compte"
      - locale: de-DE
        reference: "Kontoeinstellungen speichern"

最小示例

tests:
  - id: save-button
    vars:
      source: "Save"
    locales:
      - locale: fr-FR
        reference: "Enregistrer"

格式规则

  • experiments[] 是可选的
  • experiments[].providerexperiments[].model 在存在实验时是必需的
  • experiments[].idexperiments[].profileexperiments[].prompt是可选的
  • judge 是可选的
  • judge.providerjudge.modeljudge.promptjudge.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 将默认使用 openaigpt-5.2

挑选具有代表性的覆盖范围

包含多种字符串类型,这样你就可以检测不同内容形式中的回归问题。
  • 简短的 UI 字符串:按钮、标签、菜单项和简洁的错误文本
  • 长文本字符串:引导步骤、帮助文本、法律文案和事务性消息
  • ICU 和复杂格式:复数规则、性别变体、select 语句,以及日期或数字格式化占位符
  • 占位符和变量:诸如 {name}%s{{count}} 这样的标记必须保持不变

让上下文尽量靠近每个案例

对于每种情况,存储一个稳定的 ID,并为审核者提供足够的上下文。
  • 将共享源文本保留在 vars.source
  • vars.context 中包含截图、功能名称或意图说明
  • 当你已经有可信译文时,请将特定于语言区域的引用放在每个语言区域条目下
  • 保持 ID 稳定,以便展开的案例在不同运行之间保持可比性

有意地使用断言

assert 是可选的。如果你省略它,eval 运行仍会生成启发式分数、可选的评判分数以及报告诊断信息。 当你确切知道输出中必须出现什么内容时,请使用确定性断言。
  • contains
  • not_contains
  • equals
当你想要基于阈值的评分时,请使用判定断言。
  • judge.translation_quality
  • judge.factuality
  • judge.g_eval
  • judge.model_graded_closedqa
  • judge.answer_relevance
  • judge.context_faithfulness
  • judge.context_recall
  • judge.context_relevance

长期保持质量

将评估集视为生产测试数据。
  • 在 UI 或产品文案变更时,检查并更新该集合
  • 移除不再映射到活动功能的过期案例
  • 保持简单、中等和困难字符串之间的平衡
  • 重复运行同一组,以便公平比较模型或提示词的变化