Skip to content

评估数据集

评估数据集是一个同质化的数据样本集合,旨在评估人工智能应用的性能和能力。在Ragas中,评估数据集使用EvaluationDataset类表示,该类提供了一种结构化的方式来组织和管理用于评估的数据样本。

评估数据集的结构

评估数据集由以下部分组成:

  • 样本:一组SingleTurnSampleMultiTurnSample实例。每个样本代表一个独特的交互或场景。
  • 一致性:数据集中的所有样本应为同一类型(全部为单轮或多轮样本),以保持评估的一致性。

构建有效评估数据集的指南

  • 明确目标:确定你想要评估的AI应用的特定方面以及你想要测试的场景。收集反映这些目标的数据样本。
  • 收集代表性数据:确保数据集涵盖了多种场景、用户输入和预期响应,以全面评估AI应用。这可以通过从各种来源收集数据或生成合成数据来实现。
  • 质量和规模:力求数据集足够大以提供有意义的见解,但不要大到难以管理。确保数据质量高且准确反映你想要评估的真实场景。

示例

在此示例中,我们将演示如何使用多个SingleTurnSample实例创建一个EvaluationDataset。我们将逐步介绍创建单个样本、将它们组装成数据集以及对数据集执行基本操作的过程。

步骤1:导入必要的类

首先,从你的模块中导入SingleTurnSample和EvaluationDataset类。

from ragas import 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。

dataset = EvaluationDataset(samples=[sample1, sample2, sample3])

EvaluationDataset API参考