定义“质量”:评估集

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

什么是评估集?

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

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

良好评估集的元素

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

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

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

训练集、测试集和验证集

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

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

Mosaic AI 代理评估为利益干系人提供一个基于 Web 的聊天界面来提供有关应用程序输出的反馈,从而帮助你创建评估集。 链的输出和利益干系人反馈保存在 Delta 表中,然后你可将它们特选到评估集中。 有关示例代码的实际操作说明,请参阅本指南的实现部分中的策展评估集