MODULE m8 · 10.0 HOURS

失敗類型分類與錯誤分析

已完成 0%

LEARNING OBJECTIVES

本模組目標

  1. 能夠識別和分類 RAG 系統中發生的失敗類型。
  2. 能夠區分和分析檢索(Retrieval)階段和生成(Generation)階段的錯誤。
  3. 能夠利用 Ragas 框架的指標連接自動評估和人工審查結果。
  4. 能夠基於錯誤分析數據,為 RAG 管道的效能改進提出方案。

RAG 系統的錯誤分析概述

RAG(Retrieval Augmented Generation)架構由檢索模組和基於 LLM 的生成模組組成 [S3]。評估系統效能時,重要的是要將這兩個階段分開分析。錯誤主要分為檢索階段的問題和生成階段的問題。

1. 失敗類型分類

  • 檢索失敗 (Retrieval Failure): 檢索到不相關或不聚焦的上下文時 [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

    儲存 RAG 系統的答案和檢索到的上下文(context),針對至少 50 個問題。

  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