跳到主要内容

内置 Scorer

Mastra 提供一整套用于评估 AI 输出的内置 Scorer。这些 Scorer 针对常见评估场景进行了优化,可以直接用于 Agent 和 Workflow。

要创建自己的 Scorer,请参阅自定义 Scorer 指南。

可用 Scorer
可用 Scorer的直接链接

准确性与可靠性
准确性与可靠性的直接链接

这些 Scorer 用于评估 Agent 答案的正确性、真实性和完整性:

  • answer-relevancy:评估响应对输入查询的回答程度(0-1,越高越好)
  • answer-similarity:使用语义分析将 Agent 输出与真实答案进行比较,用于 CI/CD 测试(0-1,越高越好)
  • faithfulness:衡量响应对所提供上下文的准确反映程度(0-1,越高越好)
  • hallucination:检测事实矛盾和无依据的说法(0-1,越低越好)
  • completeness:检查响应是否包含所有必要信息(0-1,越高越好)
  • content-similarity:使用字符级匹配衡量文本相似度(0-1,越高越好)
  • textual-difference:衡量字符串之间的文本差异(0-1,越高表示越相似)
  • tool-call-accuracy:评估 LLM 是否从可用选项中选择了正确的 Tool(0-1,越高越好)
  • trajectory-accuracy:评估所有 Span 类型的预期操作序列,涵盖的 Span 包括 Tool 和模型活动以及 Workflow Step(0-1,越高越好)
  • prompt-alignment:衡量 Agent 响应与用户提示词在意图、要求、完整性和格式方面的一致程度(0-1,越高越好)

上下文质量
上下文质量的直接链接

这些 Scorer 用于评估生成响应时所用上下文的质量和相关性:

  • context-precision:使用平均精度均值评估上下文排序。相关上下文越早出现,得分越高(0-1,越高越好)
  • context-relevance:通过相关性级别和使用情况跟踪衡量上下文效用,还会检测缺失的上下文(0-1,越高越好)
选择上下文 Scorer
  • 当上下文顺序很重要,并且需要标准信息检索指标时,请使用 Context Precision(非常适合评估 RAG 排序)
  • 当需要详细评估相关性、跟踪上下文使用情况并识别缺口时,请使用 Context Relevance

两个上下文 Scorer 都支持:

  • 静态上下文:预定义的上下文数组
  • 动态提取上下文:使用自定义函数从运行中提取上下文(非常适合 RAG 系统、向量数据库等)

输出质量
输出质量的直接链接

这些 Scorer 用于评估对格式、风格和安全要求的遵循程度:

  • tone-consistency:衡量正式程度、复杂度和风格的一致性(0-1,越高越好)
  • toxicity:检测有害或不当内容(0-1,越低越好)
  • bias:检测输出中潜在的偏见(0-1,越低越好)
  • keyword-coverage:评估技术术语的使用情况(0-1,越高越好)

Quick Checks
Quick Checks的直接链接

无需 LLM 的微型 Scorer,可用于快速、确定性的断言。用法详情请参阅 Quick Checks 指南。

  • checks.includes:如果输出包含子字符串,则得分为 1(01
  • checks.excludes:如果输出不包含子字符串,则得分为 1(01
  • checks.equals:如果输出与字符串完全匹配,则得分为 1(01
  • checks.matches:如果输出与正则表达式匹配,则得分为 1(01
  • checks.similarity:通过 Dice 系数计算字符串相似度(0-1,或设置阈值后返回二元结果)
  • checks.calledTool:如果 Tool 至少被调用 N 次,则得分为 1(01
  • checks.didNotCall:如果 Tool 未被调用,则得分为 1(01
  • checks.toolOrder:如果 Tool 按顺序调用,则得分为 1(01
  • checks.maxToolCalls:如果 Tool 调用次数未超出限制,则得分为 1(01
  • checks.usedNoTools:如果未调用任何 Tool,则得分为 1(01
  • checks.noToolErrors:如果所有 Tool 调用均未发生错误,则得分为 1(01