定义“质量”:评估集

本文介绍评估集,并说明它们如何帮助确保应用程序的质量。

什么是评估集?

为了衡量质量,Databricks 建议创建人工标记的评估集。 评估集是一组特选的、具有代表性的查询,并包括基本事实答案和(可选)应检索的正确支持文档。 在此过程中,人工输入至关重要,因为它可确保评估集准确反映最终用户的期望和要求。

创建人工标签的过程可能很耗时。 若要开始,可以创建仅包含问题的评估集,并随着时间推移添加基本事实回复。 马赛克 AI 代理评估 可以在没有真实值的情况下评估链的质量,但是,如果有真实值可用,它将计算其他指标,例如答案正确性。

良好评估集的元素

良好的评估集具有以下特征:

  • 有代表性:准确反映应用程序在生产环境中会遇到的各种请求。
  • 挑战: 该集应包括困难和多样化的事例,以有效测试模型的功能。 理想情况下,它包括对抗示例,例如尝试提示注入的问题或尝试从 LLM 生成不当回复的问题。
  • 不断更新: 必须定期更新集,以反映应用程序在生产中使用的方式、索引数据的变化性质以及对应用程序要求的任何更改。

Databricks 建议评估集中至少有 30 个问题,理想是有 100-200 个问题。 最佳评估集将随着时间的推移而扩充,以包含 1,000 个问题。

训练集、测试集和验证集

为了避免过度拟合,Databricks 建议将评估集拆分为训练集、测试集和验证集:

  • 训练集:大约 70% 的问题。 用于初始传递来评估每个试验,以确定潜在性能最高的试验。
  • 测试集:大约 20% 的问题。 用于评估训练集中性能最高的试验。
  • 验证集:大约 10% 的问题。 用于在将试验部署到生产环境之前进行最终验证检查。

马赛克 AI 代理评估通过为利益干系人提供基于 Web 的聊天界面来帮助你创建评估集,以便提供有关应用程序输出的反馈。 链的输出和利益攸关者反馈保存在 Delta 表中,然后可以将其策展到评估集中。 有关示例代码的实际操作说明,请参阅本指南的实现部分中的策展评估集