ragas官方文档中文版(四)
2026/6/9 19:01:52 网站建设 项目流程

数据集

数据集与实验结果

在评估人工智能系统时,我们通常处理两种主要类型的数据:

1、评估数据集:这些存储在 datasets 目录下。
2、评估结果:这些存储在 experiments 目录下。

评估数据集

评估数据集包含:

1、输入 :系统将处理的一组输入。
2、预期输出(可选) :系统对给定输入的预期输出或响应。
3、元数据(可选) :可与数据集一起存储的附加信息。

例如,在检索增强生成(RAG)系统中,它可能包含查询(系统输入)、评分说明(用于评分系统输出)以及查询复杂度等元数据。

元数据对于对数据集进行切片和切块特别有用,使您能够跨不同方面分析结果。例如,您可能希望查看系统在复杂查询与简单查询上的表现,或者它如何处理不同语言。

实验结果

实验结果包括:

1、 数据集中的所有属性。
2、 被评估系统的响应。
3、 指标结果。
4、 可选元数据,例如指向给定输入的系统跟踪的 URI。

例如,在 RAG 系统中,结果可能包括查询、评分说明、响应、准确率分数(指标)、系统跟踪链接等。

在 Ragas 中使用数据集

Ragas 提供了一个 Dataset 类来处理评估数据集。以下是使用方法:

创建数据集

fromragasimportDataset# Create a new datasetdataset=Dataset(name="my_evaluation",backend="local/csv",root_dir="./data")# Add a sample to the datasetdataset.append({"id":"sample_1","query":"What is the capital of France?","expected_answer":"Paris","metadata":{"complexity":"simple","language":"en"}})

加载现有数据集

# Load an existing datasetdataset=Dataset.load(name="my_evaluation",backend="local/csv",root_dir="./data")

数据集结构

Ragas 中的数据集具有灵活性,可以包含评估所需的任何字段。常见字段包括:

  • id:每个样本的唯一标识符
  • queryinput:人工智能系统的输入
  • expected_outputground_truth:预期响应(如有)
  • metadata:关于样本的附加信息

数据集创建最佳实践

1、代表性样本:确保数据集代表人工智能系统将遇到的真实场景。
2、均衡分布:包含不同难度级别、主题和边缘情况的样本。
3、质量优于数量:拥有少量高质量、精心策划的样本比大量低质量样本更好。
4、丰富元数据:包含相关元数据,以便跨不同维度分析性能。
5、版本控制:跟踪数据集随时间的变化,确保可重现性。

数据集存储与管理

本地存储

对于本地开发和小型数据集,您可以使用 CSV 文件:

dataset=Dataset(name="my_eval",backend="local/csv",root_dir="./datasets")

云存储

对于较大的数据集或团队协作,考虑使用云后端:

# Google Drive (experimental)dataset=Dataset(name="my_eval",backend="gdrive",root_dir="folder_id")# Other backends can be added as needed

数据集版本控制

跟踪数据集版本以实现可重现的实验:

# Include version in dataset namedataset=Dataset(name="my_eval_v1.2",backend="local/csv",root_dir="./datasets")

与评估工作流集成

数据集与 Ragas 评估工作流无缝集成:

fromragasimportexperiment,Dataset# Load your datasetdataset=Dataset.load(name="my_evaluation",backend="local/csv",root_dir="./data")# Define your experiment@experiment()asyncdefmy_experiment(row):# Process the input through your AI systemresponse=awaitmy_ai_system(row["query"])# Return results for metric evaluationreturn{**row,# Include original data"response":response,"experiment_name":"baseline_v1"}# Run evaluation on the datasetresults=awaitmy_experiment.arun(dataset)

此集成使您能够在测试数据(数据集)和评估结果(实验)之间保持清晰的分离,从而更轻松地跟踪进度并比较不同方法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询