MODULE m3 · 8.0 HOURS
构建问答评估集
已完成 0%
LEARNING OBJECTIVES
本模块目标
- 理解构建用于评估 RAG 系统的高质量问答 (QA) 评估集的重要性。
- 掌握利用合成数据生成技术 (Synthetic Data Generation) 构建评估集的原理。
- 通过 TrueTeacher 等方法论,掌握评估模型生成回答事实一致性的逻辑。
- 设计在保持评估集质量的同时,能够生成对领域变化具有稳健性的数据集的流程。
构建用于RAG评估的问答(QA)评估集
为了可靠地衡量检索增强生成(RAG)系统的性能,精心设计的评估集是必不可少的。仅仅依赖人工编写的问题和答案在进行大规模评估时,在成本和可扩展性方面存在局限性。
合成数据生成的意义
根据最新的TrueTeacher方法论,可以利用大语言模型(LLM)对模型生成的各种答案进行注释,从而生成合成训练数据 [S5]。该方法具有以下优点:
- 成本效益:不依赖人工直接编写的摘要或答案,因此能够生成大规模数据集(例如:1.4M个示例) [S5]。
- 多语言与可扩展性:不局限于特定语言,并且在领域迁移(Domain-shift)方面也表现出稳健性 [S5]。
- 事实一致性评估:通过合成数据训练的小型模型,可以成功提炼(Distillation)大型LLM教师模型的知识,并作为高效的事实性评估工具使用 [S5]。
数据集构建策略
在构建评估集时,不仅要创建问答对,还必须进行结构化设计,以便衡量“检索结果是否包含得出正确答案所需的依据?”以及“模型是否在没有扭曲的情况下引用了相关依据?”。为此,在生成数据集时,需要对问题的复杂度、与检索结果的相关性以及答案的事实一致性进行系统的标注或验证。
WORKED EXAMPLES
讲解示例
- 示例 1:从文档语料库中提取关键段落。使用LLM从给定文档中提取上下文中重要的事实性句子,并以此为基础构建包含“可回答问题”和“错误问题(Negative Sample)”的流水线。
- 示例 2:事实性验证提示词设计。基于生成的问题和检索到的文档,指示LLM“根据检索到的文档回答问题,并判断答案在事实层面上是否一致(True/False)”,从而细化评估用的标准答案(Ground Truth)的过程。
LAB PROTOCOL
合成评估集生成实践
- 1
加载准备好的开源文档语料库,并将其划分为文本块。
- 2
使用LLM API为每个文本块生成 100 个以上的唯一问答对。
- 3
针对生成的问题模拟检索系统,搜索并返回前k个文档。
- 4
构建评估流水线,以判断检索到的文档与生成的答案之间的事实一致性。
- 5
将结果数据保存为JSONL格式,并手动检查 30 个样本以记录数据质量。
安全检查
- 在评估集构建过程中使用外部API时,必须设置费用上限(API Key Limit)。
- 使用正则表达式过滤生成的数据集,确保其中不包含原始文档的敏感信息或个人隐私。
- 不可盲目依赖模型评估结果,必须结合人工抽样核对。
实验提交物
- 已构建 100 条目以上的问答评估集(JSONL文件)
- 包含数据集生成和验证代码的Jupyter Notebook
- 包含人工审查记录的质量分析报告
ASSIGNMENT
RAG可靠性评估集回归报告
提交物
评分标准
- 评估集是否均匀反映了整个文档语料库的内容?
- 合成数据生成流水线是否以可重现的形式编写?
- 错误类型分类是否具体且具有定量依据?
- 是否通过人工审查验证了自动评估指标的有效性?
KNOWLEDGE CHECK
理解检查
FIELD CHECK
完成标准
- 完成 100 条目以上的问答评估集构建
- 提交数据集质量分析及人工审查记录
- 实现用于RAG流水线性能评估的Notebook并编写结果报告
- 在CI/CD环境中配置可重执行形式的评估包
MODULE SOURCES