评估数据集
评估数据集是一个同质化的数据样本集合,旨在评估人工智能应用的性能和能力。在Ragas中,评估数据集使用EvaluationDataset
类表示,该类提供了一种结构化的方式来组织和管理用于评估的数据样本。
评估数据集的结构
评估数据集由以下部分组成:
- 样本:一组SingleTurnSample或MultiTurnSample实例。每个样本代表一个独特的交互或场景。
- 一致性:数据集中的所有样本应为同一类型(全部为单轮或多轮样本),以保持评估的一致性。
构建有效评估数据集的指南
- 明确目标:确定你想要评估的AI应用的特定方面以及你想要测试的场景。收集反映这些目标的数据样本。
- 收集代表性数据:确保数据集涵盖了多种场景、用户输入和预期响应,以全面评估AI应用。这可以通过从各种来源收集数据或生成合成数据来实现。
- 质量和规模:力求数据集足够大以提供有意义的见解,但不要大到难以管理。确保数据质量高且准确反映你想要评估的真实场景。
示例
在此示例中,我们将演示如何使用多个SingleTurnSample
实例创建一个EvaluationDataset。我们将逐步介绍创建单个样本、将它们组装成数据集以及对数据集执行基本操作的过程。
步骤1:导入必要的类
首先,从你的模块中导入SingleTurnSample和EvaluationDataset类。
步骤2:创建单个样本
创建几个代表单个评估样本的SingleTurnSample实例。
# 样本1
sample1 = SingleTurnSample(
user_input="德国的首都是什么?",
retrieved_contexts=["柏林是德国的首都和最大城市。"],
response="德国的首都是柏林。",
reference="柏林",
)
# 样本2
sample2 = SingleTurnSample(
user_input="谁写了《傲慢与偏见》?",
retrieved_contexts=["《傲慢与偏见》是简·奥斯汀的小说。"],
response="《傲慢与偏见》是由简·奥斯汀写的。",
reference="简·奥斯汀",
)
# 样本3
sample3 = SingleTurnSample(
user_input="水的化学式是什么?",
retrieved_contexts=["水的化学式是H2O。"],
response="水的化学式是H2O。",
reference="H2O",
)
步骤3:创建EvaluationDataset 通过传递一个SingleTurnSample实例列表来创建一个EvaluationDataset。