iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0
AI Engineering

從零搞懂 RAG 評測之旅系列 第 18 篇

DAY18. RAG 評測 (6) Faithfulness

  • 分享至 

  • xImage
  •  

Day17 的 Answer Relevancy 看的是回答有沒有切題,但切題不代表可靠。今天要看的是 Faithfulness(忠實度):模型的回答,是不是真的有憑有據。

假設使用者問「特休一天需要提前幾天申請?」,Retriever 找回來的 Context 只有一句話:「員工申請特休,須提前 3 天向主管提出申請。」模型的回答是:「特休需要提前 3 天向主管申請,逾期者一律不核准。」這個回答非常切題,Answer Relevancy 會拿到高分。但仔細看,「逾期者一律不核准」這句話,Context 裡根本沒有寫,是模型自己加上去的。Faithfulness 要抓的,就是這種「Context 沒寫、模型卻說了」的內容,也就是常說的幻覺(Hallucination)。

Faithfulness 的計算方式是把回答一句一句拆開來驗。首先把回答拆成一個個獨立的陳述(claim),接著請 LLM 逐一檢查,每個 claim 能不能從 Context 推得出來,最後用「有依據的 claim 數量 ÷ 全部 claim 數量」算出分數。

https://ithelp.ithome.com.tw/upload/images/20260929/20183538dZQgmMbGQS.png

以剛才的回答為例,可以拆成三個 claim,「特休需提前 3 天申請」有依據、「須向主管提出申請」有依據、「逾期一律不核准」沒有依據。三個裡面有兩個站得住腳,Faithfulness 就是 2 ÷ 3,約 0.67。

最容易誤會的一點是:Faithfulness 對照的是 Context,不是事實。如果 Context 本身寫錯了(例如寫成 5 天),模型忠實照抄,Faithfulness 依然是滿分。所以它衡量的是「有沒有亂加」,不是「對不對」,「對不對」要留給下一個指標。它和 Context 系列指標也有連動,當 Context Recall 偏低,關鍵資訊沒被找回來,模型在資訊不足的情況下,很容易用自己的「印象」補上去,Faithfulness 就跟著下降。

當分數偏低時,可以先檢查 Prompt 有沒有明確要求「只能根據提供的 Context 回答」;也要看 Context 是不是缺少關鍵資訊,讓模型自己補洞,這時可以回頭看 Context Recall 與 Context Entities Recall。另外,Context 裡如果有互相矛盾的內容,模型只好自己選邊,或是模型過度推論,把 Context 沒說的細節當成理所當然,也都會拉低分數。

Faithfulness 讓我們知道,回答有沒有超出 Context 的範圍。但如果 Context 本身就是錯的、過時的呢?忠實地照抄一份錯誤資料,也不會是正確答案。下一篇,我們來看 Factual Correctness(事實正確性),把回答直接拿去跟標準答案比對。


上一篇
DAY17. RAG 評測 (5) Answer Relevancy
下一篇
DAY19. RAG 評測 (7) Factual Correctness
系列文
從零搞懂 RAG 評測之旅 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言