基准测试评分 - Entity Enricher 文档

基准测试评分

评分让 benchmark 从“肉眼看 JSON”变成一个客观数字。每个模型的结果都会依据黄金参考(预期输出)进行评分,得出完整性、正确性以及一个可供排序的总体质量分数。

黄金参考

评分需要有可供对照的对象。每个 scenario 都带有一个参考输出:其唯一固定 entity 的正确答案。可通过用强模型生成(网络搜索 + 权威来源文档)、粘贴一个已知正确的结果,再手动编辑来构建它——一旦你信任它,就将其标记为已验证。已验证的参考是对该 scenario 进行 benchmark 的必要条件,这样始终都有可供评分的对象。如果你之后编辑了参考——或更改了 scenario 的评分配置——现有分数会被标记为过时,直到你重新评分。

值的比较方式

核心问题在于:两个正确答案的写法可能不同。将某位演员命名为“R. Downey Jr.”而非“Robert Downey Jr.”的模型并没有错。因此,每个字段都会通过分层阶梯进行比较——先用最廉价、最确定的方式,仅在需要时才升级:

1
精确匹配与归一化

完全相同的值会匹配。仅在大小写、首尾空格或数值精度上存在差异的值也会匹配("Acme" = "ACME",4.0 = 4)。免费且完全确定。

2
嵌入相似度

对于文本,候选值与参考值会被嵌入并按余弦相似度比较。高于阈值即视为相同——因此像“R. Downey Jr.”与“Robert Downey Jr.”这样有效的另一种写法算作匹配,而非错误。日期是例外:它们按日历值比较,绝不按相似度,因此接近但错误的日期(“1972-03-14”与“1972-03-24”)会是明确的不匹配,而不是具有欺骗性的高余弦值。布尔值同样要么精确匹配,要么不匹配。

3
LLM 评判

对于相似度难以判定的值——例如摘要和描述等所有自由文本字段,以及每一个不完全相同的数字——都会发送给一个评判模型,由其以 0–100 分评估答案对参考含义的捕捉程度。它会奖励措辞不同或更简洁但正确的答案,并在字段允许时给予数字部分得分(如分子量 273.37 对 273.35,半衰期 12 对 15),而在精确性至关重要时仍会判其不通过(如发行年份 2020 对 2023)。若没有评判模型,自由文本会回退到连续相似度评分,而不完全相同的数字则直接视为不匹配。

严格度设置控制嵌入阈值:值越高,意味着两个写法不同的值必须更相似才会被视为相同。严格度、可选的评判模型和嵌入模型都在场景上设置——而不是每次评分时选择——因此每个模型都以相同方式评分,分数保持可比。

为数组(项目列表)评分

列表——一部电影的演员阵容、一种药物的副作用——是模型差异最大的地方:小模型可能找到 4 位演员,而强模型能找到 15 位。顺序无关紧要,找到更多正确的条目应当胜出。因此数组按集合评分,而非逐个位置比较:

展开某一结果行,即可查看哪些项被匹配、遗漏或产生了幻觉。

解读分数

单个数字掩盖了太多信息,因此每个结果都附带分项得分:

可展开的行显示逐字段的明细:候选值与参考值、由阶梯的哪一级决定,以及相关时的相似度。

当某个场景多次运行同一模型(重复运行)时,每次运行都会单独评分,该行会显示平均质量以及一致性区间(各次运行的最低值–最高值)—— 这样就很容易发现平均表现正确但不稳定的模型。显示的输出是按质量取中位数的那次运行。

成本与运行内容

评分是对已保存结果的一次单独处理——它不会重新 enrichment,因此不会为被测模型重复付费。它确实会嵌入文本以比较值(如果 scenario 配有评判,还会运行评判),此过程根据用量扣除 credit。这会在每次运行结束时自动进行,并在你每次重新评分时再次进行。如果你的组织未配置嵌入模型(且 scenario 未设置覆盖项),评分仍会运行,但会退回到仅精确匹配(此时不同拼写会被算作不匹配),并会作出说明。

在哪里可以找到

模型管理 → 基准测试中,在场景编辑器里设置并验证参考(并在此选择其评判模型、嵌入模型和严格程度)。此后,每次运行都会自动为其成功的结果评分——一个可排序的质量列会自动填充,无需额外步骤。在您编辑参考或评分配置后,使用重新为结果评分(标题栏按钮或 ··· 菜单)重新评级。