MODULE m8 · 10.0 HOURS

故障类型分类与错误分析

已完成 0%

LEARNING OBJECTIVES

本模块目标

  1. 能够识别并分类 RAG 系统中出现的故障类型。
  2. 能够区分并分析检索(Retrieval)阶段与生成(Generation)阶段的错误。
  3. 利用 Ragas 框架的指标将自动化评估与人工审核结果相关联。
  4. 基于错误分析数据提出 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. 示例 1:针对问题“模型 A 的发布日期是?”,检索器检索到了“模型 B 的规格”文档。这被归类为“检索失败”,可以通过调整嵌入模型或优化检索查询来解决。
  2. 示例 2:针对问题“解释 X”,检索器检索到了关于 X 的准确文档,但 LLM 的回答包含了文档中没有的信息。这被归类为“生成失败(忠实度不足)”,应通过提示工程(prompt engineering)加强“仅使用所提供的上下文”这一约束。

LAB PROTOCOL

故障数据集收集与错误分析

  1. 1

    针对至少 50 个问题,保存 RAG 系统的回答及检索到的上下文(context)。

  2. 2

    使用 Ragas 测量每个项目的上下文精确度(Context Precision)和生成忠实度(Faithfulness)。

  3. 3

    提取指标得分最低的后 20% 的问题-回答对。

  4. 4

    针对提取的样本,填写包含“检索错误”、“生成错误”、“逻辑错误”的分类表。

安全检查
  • 严禁在评估代码中包含个人信息或非公开数据。
  • 监控评估过程中使用的 API 调用次数和成本,以确保符合预算。
  • 数据分析时在本地环境中进行工作,以防止信息泄露。

实验提交物

  • 已完成分类的错误分析 CSV 文件
  • 可视化检索和生成质量指标的 Jupyter Notebook

ASSIGNMENT

RAG 错误分类及改进报告撰写

提交物

评分标准

  • 故障类型分类的准确性和合理性
  • 定量指标与人工审核结果之间的相关性分析能力
  • 改进策略的逻辑合理性

KNOWLEDGE CHECK

理解检查

1当 RAG 系统中的检索模块检索到不相关的上下文时,会发生什么类型的失败?
2Ragas 框架最大的特点是什么?

FIELD CHECK

完成标准

  • 提交包含故障类型的错误分类表
  • 完成利用 Ragas 指标对检索及生成质量的定量分析
  • 完成基于错误分析的流水线改进建议书的撰写及评审

MODULE SOURCES

本模块参考资料

  1. [2309.15217] Ragas: Automated Evaluation of Retrieval ... Ragas: Automated Evaluation of Retrieval Augmented Generation RAGAS: Automated Evaluation of Retrieval Augmented Generation RAGAs: Automated Evaluation of Retrieval Augmented Generation RAGAS: Automated Evaluation of Retrieval Augmented Generation RAGAS: Automated Evaluation of Retrieval Augmented Generationarxiv.org · paper