MODULE m8 · 10.0 HOURS
故障类型分类与错误分析
已完成 0%
LEARNING OBJECTIVES
本模块目标
- 能够识别并分类 RAG 系统中出现的故障类型。
- 能够区分并分析检索(Retrieval)阶段与生成(Generation)阶段的错误。
- 利用 Ragas 框架的指标将自动化评估与人工审核结果相关联。
- 基于错误分析数据提出 RAG 流水线性能改进方案。
RAG 系统错误分析概述
RAG(检索增强生成)架构由检索模块和基于 LLM 的生成模块组成 [S3]。在评估系统性能时,将这两个阶段分开分析至关重要。错误主要分为检索阶段的问题和生成阶段的问题。
1. 故障类型分类
- 检索失败 (Retrieval Failure): 检索到不相关或重点不明确的上下文(context)[S3]。
- 生成失败 (Generation Failure): LLM 未能忠实地使用所提供的上下文(Faithfulness),或生成了与问题无关的回答 [S3]。
2. 自动化评估与人工审核的互补
Ragas 等无需参考(Reference-free)的框架可以在没有人工标注(ground truth)的情况下评估检索和生成质量 [S3]。然而,仅凭自动化评估指标很难捕捉到系统微妙的幻觉(hallucination)或复杂的逻辑错误。因此,应通过定量自动指标提取高优先级的故障样本,并必须并行进行人工审核(Human Review)以查明实际原因。
WORKED EXAMPLES
讲解示例
- 示例 1:针对问题“模型 A 的发布日期是?”,检索器检索到了“模型 B 的规格”文档。这被归类为“检索失败”,可以通过调整嵌入模型或优化检索查询来解决。
- 示例 2:针对问题“解释 X”,检索器检索到了关于 X 的准确文档,但 LLM 的回答包含了文档中没有的信息。这被归类为“生成失败(忠实度不足)”,应通过提示工程(prompt engineering)加强“仅使用所提供的上下文”这一约束。
LAB PROTOCOL
故障数据集收集与错误分析
- 1
针对至少 50 个问题,保存 RAG 系统的回答及检索到的上下文(context)。
- 2
使用 Ragas 测量每个项目的上下文精确度(Context Precision)和生成忠实度(Faithfulness)。
- 3
提取指标得分最低的后 20% 的问题-回答对。
- 4
针对提取的样本,填写包含“检索错误”、“生成错误”、“逻辑错误”的分类表。
安全检查
- 严禁在评估代码中包含个人信息或非公开数据。
- 监控评估过程中使用的 API 调用次数和成本,以确保符合预算。
- 数据分析时在本地环境中进行工作,以防止信息泄露。
实验提交物
- 已完成分类的错误分析 CSV 文件
- 可视化检索和生成质量指标的 Jupyter Notebook
ASSIGNMENT
RAG 错误分类及改进报告撰写
提交物
评分标准
- 故障类型分类的准确性和合理性
- 定量指标与人工审核结果之间的相关性分析能力
- 改进策略的逻辑合理性
KNOWLEDGE CHECK
理解检查
FIELD CHECK
完成标准
- 提交包含故障类型的错误分类表
- 完成利用 Ragas 指标对检索及生成质量的定量分析
- 完成基于错误分析的流水线改进建议书的撰写及评审
MODULE SOURCES