RAG系列:系統(tǒng)評(píng)估 - 五個(gè)主流評(píng)估指標(biāo)詳解

引言
在 RAG系列:一文讓你由淺到深搞懂RAG實(shí)現(xiàn) 中,我們將 RAG 系統(tǒng)主要分為問(wèn)題理解、檢索召回以及答案生成這三個(gè)模塊,因此對(duì) RAG 系統(tǒng)的評(píng)估也是圍繞問(wèn)題(Question)、檢索到的上下文(Retrieved Context)、實(shí)際答案(Actual Answer)、參考答案(Reference Answer)這四個(gè)維度開(kāi)展,通過(guò)衡量這四個(gè)維度之間的相關(guān)性來(lái)評(píng)估 RAG 系統(tǒng)的有效性。

下面我們對(duì)每個(gè)指標(biāo)一一展開(kāi)講解。
評(píng)估指標(biāo)
上下文召回率(Context Recall)
衡量檢索到的上下文是否覆蓋參考答案所需的所有關(guān)鍵信息,避免遺漏關(guān)鍵信息。
取值在 0 到 1 之間,數(shù)值越高表示檢索到的上下文覆蓋越全面。
計(jì)算公式:上下文召回率 = 上下文覆蓋的關(guān)鍵信息數(shù)量 / 參考答案中關(guān)鍵信息總數(shù)量。
例如,參考答案需要 5 個(gè)關(guān)鍵信息,若檢索到的上下文覆蓋其中 4 個(gè)關(guān)鍵信息,則上下文召回率為 0.8。
提升方法:
- 問(wèn)題優(yōu)化與擴(kuò)展
a.通過(guò) LLM 對(duì)原問(wèn)題進(jìn)行改寫(xiě)或擴(kuò)寫(xiě),生成多個(gè)相關(guān)問(wèn)題擴(kuò)大檢索范圍;
b .應(yīng)用 HyDE(假設(shè)性文檔嵌入)生成假設(shè)性答案作為查詢(xún)向量,提升上下文召回率。
- 分塊策略?xún)?yōu)化
a.根據(jù)文檔類(lèi)型調(diào)整分塊大小和相鄰分塊的重疊大小;
b.為每個(gè)文本塊添加顯式標(biāo)題或背景,提升語(yǔ)義檢索準(zhǔn)確性;
c.結(jié)構(gòu)化文檔,如將 PDF 文件先轉(zhuǎn)為 Markdown 文件再進(jìn)行分塊;
d.使用 LLM 生成主題連貫的文本塊,替代傳統(tǒng)遞歸分割,減少上下文斷裂問(wèn)題。
3.檢索策略改進(jìn)
a.混合檢索,結(jié)合稠密檢索(向量搜索)與稀疏檢索(如BM25),通過(guò)加權(quán)融合(如 60% 稠密 + 40% 稀疏)兼顧語(yǔ)義關(guān)聯(lián)與關(guān)鍵詞匹配,提升上下文召回率;
b.動(dòng)態(tài)調(diào)整 Top-K 候選文檔數(shù)量,根據(jù)查詢(xún)復(fù)雜度優(yōu)化檢索策略。
上下文相關(guān)性(Context Relevance)
衡量檢索到的上下文與問(wèn)題之間的相關(guān)性,避免包含無(wú)關(guān)冗余內(nèi)容。
取值在 0 到 1 之間,數(shù)值越高表示檢索到的上下文相關(guān)性越高。
計(jì)算公式:上下文相關(guān)性 = 上下文中與問(wèn)題相關(guān)的片段數(shù)量 / 上下文中片段總數(shù)量。
例如,檢索到的上下文總共有 5 個(gè)片段,與問(wèn)題相關(guān)的片段有 4 個(gè),則上下文相關(guān)性為 0.8。
提升方法:
- 問(wèn)題優(yōu)化與擴(kuò)展
a.通過(guò) LLM 對(duì)原問(wèn)題進(jìn)行改寫(xiě)或擴(kuò)寫(xiě),生成多個(gè)相關(guān)問(wèn)題,覆蓋用戶意圖的不同表達(dá)形式;
b.應(yīng)用 HyDE(假設(shè)性文檔嵌入)生成假設(shè)性答案作為查詢(xún)向量,增強(qiáng)問(wèn)題與上下文的匹配度。
- 分塊策略?xún)?yōu)化
a.根據(jù)文檔類(lèi)型調(diào)整分塊大小和相鄰分塊的重疊大小;
b.為每個(gè)文本塊添加顯式標(biāo)題或背景,提升語(yǔ)義檢索準(zhǔn)確性;
c.結(jié)構(gòu)化文檔,如將 PDF 文件先轉(zhuǎn)為 Markdown 文件再進(jìn)行分塊;
d.使用 LLM 生成主題連貫的文本塊,替代傳統(tǒng)遞歸分割,減少上下文斷裂問(wèn)題。
3. Embedding 模型優(yōu)化
a.采用更高性能的 Embedding 模型;
b.通過(guò)領(lǐng)域知識(shí)庫(kù)微調(diào) Embedding 模型。
4. 檢索策略改進(jìn)
a.混合檢索,結(jié)合稠密檢索(向量搜索)與稀疏檢索(如BM25),通過(guò)加權(quán)融合(如 60% 稠密 + 40% 稀疏)兼顧語(yǔ)義關(guān)聯(lián)與關(guān)鍵詞匹配,提升上下文相關(guān)性;
b.檢索與重排序結(jié)合,先擴(kuò)大檢索范圍(如Top 100)實(shí)現(xiàn)最大化召回,然后使用重排序模型篩選 Top 5-10,兼顧效率與相關(guān)性;
c.引入知識(shí)圖譜(Knowledge Graph)增強(qiáng)檢索,通過(guò)實(shí)體鏈接和路徑擴(kuò)展挖掘深層語(yǔ)義關(guān)系,解決傳統(tǒng) RAG 對(duì)復(fù)雜關(guān)系推理的不足。
答案忠實(shí)度(Faithfulness)
衡量實(shí)際答案是否嚴(yán)格基于檢索到的上下文,避免幻覺(jué)。
取值在 0 到 1 之間,數(shù)值越高表示實(shí)際答案越嚴(yán)格基于檢索到的上下文。
計(jì)算公式:答案忠實(shí)度 = 上下文能夠推斷出事實(shí)的數(shù)量 / 答案拆解出的事實(shí)總數(shù)量。
例如,實(shí)際答案拆解出 5 個(gè)事實(shí),若檢索到的上下文覆蓋其中 4 個(gè)事實(shí),則答案忠實(shí)度為 0.8。
提升方法:
- 優(yōu)化檢索階段的精準(zhǔn)性,提高上下文召相關(guān)性;
- 生成階段通過(guò) Prompt 設(shè)計(jì)約束 LLM 嚴(yán)格按上下文生成答案。
答案相關(guān)性(Answer Relevance)
衡量實(shí)際答案是否直接完整回答用戶問(wèn)題,排除冗余或跑題。
取值在 0 到 1 之間,數(shù)值越高表示實(shí)際答案更直接完整回答用戶問(wèn)題。
計(jì)算公式:答案相關(guān)性 = 與實(shí)際問(wèn)題相關(guān)的模擬問(wèn)題數(shù)量 / 實(shí)際答案推導(dǎo)出的模擬問(wèn)題總數(shù)量。
例如,實(shí)際答案推導(dǎo)出 5 個(gè)模擬問(wèn)題,若其中 4 個(gè)與實(shí)際問(wèn)題相關(guān),則答案相關(guān)性為 0.8。
提升方法:
- 優(yōu)化檢索階段的精準(zhǔn)性與全面性,提高上下文召回率和相關(guān)性;
- 生成階段通過(guò) Prompt 設(shè)計(jì)約束 LLM 直接完整回答用戶問(wèn)題。
答案正確性(Answer Correctness)
衡量實(shí)際答案的準(zhǔn)確性,需與參考答案對(duì)比。
取值在 0 到 1 之間,數(shù)值越高表示實(shí)際答案與參考答案匹配度越高,準(zhǔn)確性也就越高。
計(jì)算公式:答案準(zhǔn)確性 = 實(shí)際答案覆蓋的關(guān)鍵信息數(shù)量 / 參考答案中關(guān)鍵信息總數(shù)量。
例如,參考答案需要 5 個(gè)關(guān)鍵信息,若實(shí)際答案覆蓋其中 4 個(gè)關(guān)鍵信息,則答案正確性為 0.8。
提升方法:
- 優(yōu)化檢索階段的精準(zhǔn)性與全面性,提高上下文召回率和相關(guān)性;
- 生成階段通過(guò) Prompt 設(shè)計(jì)約束 LLM 直接完整回答用戶問(wèn)題。
評(píng)估系統(tǒng)
RAG 系統(tǒng)評(píng)估方法主要有用戶反饋(User Feedback)、人工標(biāo)注(Human Annotations)、LLM 評(píng)估(LLM-as-judge)。

鑒于用戶反饋需要生產(chǎn)環(huán)境以及人工評(píng)估耗時(shí)耗力等原因,通過(guò) LLM 來(lái)對(duì) RAG 系統(tǒng)進(jìn)行評(píng)估是目前的主流和發(fā)展方向。
目前主流的 RAG 評(píng)估系統(tǒng)有:RAGAS[1]、Trulens[2]、LangSmith[3]、LlamaIndex[4]等,其核心原理還是使用標(biāo)注良好的數(shù)據(jù)集和 LLM 來(lái)完成自動(dòng)化評(píng)估,大家可根據(jù)自己的需求選用。
- RAGAS:
定位:專(zhuān)注 RAG 系統(tǒng)評(píng)估,提供自動(dòng)化、無(wú)參考標(biāo)簽的評(píng)估框架,評(píng)估指標(biāo)覆蓋全面;
覆蓋指標(biāo):上下文相關(guān)性、上下文召回率、答案忠實(shí)度、答案相關(guān)性、答案正確性等;
支持開(kāi)發(fā)語(yǔ)言:Python。
- Trulens
定位:提供 RAG Triad 評(píng)估模型(檢索質(zhì)量、生成準(zhǔn)確性、對(duì)齊度),但指標(biāo)較 RAGAS 粗略,屬于 RAGAS 的子集;
覆蓋指標(biāo):上下文相關(guān)性、答案忠實(shí)度、答案相關(guān)性等;
支持開(kāi)發(fā)語(yǔ)言:Python。
- LangSmith:
定位:LangChain 生態(tài)的核心監(jiān)控與調(diào)試工具,覆蓋 LLM 應(yīng)用全生命周期,也可與 RAGAS 聯(lián)合評(píng)估 RAG 系統(tǒng);
覆蓋指標(biāo):上下文相關(guān)性、答案忠實(shí)度、答案相關(guān)性、答案正確性等;
支持開(kāi)發(fā)語(yǔ)言:Python、TypeScript。
- LlamaIndex:
定位:一個(gè)專(zhuān)注于構(gòu)建 RAG 應(yīng)用的框架,提供數(shù)據(jù)索引、檢索與生成的完整流程支持。支持部分指標(biāo)評(píng)估,也可與 RAGAS 聯(lián)合評(píng)估 RAG 系統(tǒng);
覆蓋指標(biāo):答案忠實(shí)度、答案相關(guān)性、答案正確性等;
支持開(kāi)發(fā)語(yǔ)言:Python、TypeScript。
結(jié)語(yǔ)
通過(guò)本文我們了解了 RAG 系統(tǒng)的評(píng)估指標(biāo)、評(píng)估方法以及主流的評(píng)估系統(tǒng),后面我們將基于 LLM-as-judge 自己實(shí)現(xiàn)一套自動(dòng)化評(píng)估系統(tǒng),然后通過(guò)該評(píng)估系統(tǒng)評(píng)估我們?cè)?/span>RAG系列:基于 DeepSeek + Chroma + LangChain 開(kāi)發(fā)一個(gè)簡(jiǎn)單 RAG 系統(tǒng) 中搭建好的基礎(chǔ)版 RAG 系統(tǒng),然后以此為基準(zhǔn),學(xué)習(xí)不同的優(yōu)化方法以及優(yōu)化后的基礎(chǔ)版 RAG 系統(tǒng)的提升效果。
引用鏈接
[1]RAGAS:https://docs.ragas.io/en/latest/getstarted/rag_eval/
[2]Trulens:https://www.trulens.org/getting_started/
[3]LangSmith:https://docs.smith.langchain.com/evaluation/tutorials/rag
[4]LlamaIndex:https://www.llamaindex.ai/































