Day12 到 Day15,我們分別從四個角度檢查了 RAG 的檢索結果。今天不介紹新指標,而是把這四個指標放在一起,看它們如何互補、怎麼組合判讀,以及分數不好的時候該往哪裡找問題。
前三個指標檢查的是 Retriever 交出來的 Context 本身,Context Precision(上下文精確度)看找回來的準不準,Context Recall(上下文召回率)看該找的有沒有漏,Context Entities Recall(實體召回率)看關鍵事實齊不齊;而 Noise Sensitivity(雜訊敏感度)檢查的是模型拿到不完美的 Context 之後,表現穩不穩定。
| 指標 | 它在問什麼 | 觀察的重點 | 分數異常時,先檢查 |
|---|---|---|---|
| Context Precision(上下文精確度) | 找回來的東西,有多少是相關的? | 雜訊多不多 | Retriever、Reranker、Top-K、Chunking |
| Context Recall(上下文召回率) | 真正需要的資訊,有多少被找回來? | 遺漏多不多 | Chunking、Embedding、Top-K、Reranker |
| Context Entities Recall(實體召回率) | 關鍵的數字、日期、名稱有沒有找齊? | 關鍵事實完整嗎 | Chunking 是否把關鍵資訊拆散 |
| Noise Sensitivity(雜訊敏感度) | Context 混入雜訊後,答案還穩不穩? | 系統的抗干擾能力 | 模型對無關內容的抵抗力 |
還是那個問題:「特休一天需要提前幾天申請?」
四個指標問的是同一次檢索的四個不同層次:準不準、全不全、關鍵事實齊不齊、雜訊來了穩不穩。
單看一個分數,只能知道好或不好;組合起來看,才能知道問題出在哪。
這也是評測真正的價值。看到答案錯誤,不該只說「模型答錯了」,而是要透過這些分數回頭問:是資料沒找到、關鍵事實缺了,還是找到了卻被雜訊干擾?分數的作用不只是打分,而是幫我們縮小排查的範圍。
不過,就算四個指標都表現良好,也只能說明我們交給語言模型的 Context 品質不錯,不能保證它一定會答對。Context 交出去之後,模型有沒有正確理解、有沒有忠實使用這些內容、答案本身是否正確,是另一組不同的問題。
所以從下一篇開始,我們要從「有沒有找到對的資料」,走向「找到之後有沒有用對」,依序介紹回答品質的四個指標:Answer Relevancy(答案相關性)、Faithfulness(忠實度)、Factual Correctness(事實正確性)與 Topic Adherence(主題連貫性)。