如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?
3 u' u1 p2 o9 b# v2 [4 \3 Z# U' q, Q j/ V
# ]# T0 Z6 v& ~& B7 x; j+ V
显然,无论对于用户还是开发者而言,国产的向量数据库准确评估 RAG 应用的性能都十分重要。然而,简单的几个例子对比并不能全面衡量 RAG 应用的回答质量,需要采用可信、可复现的指标来量化评估 RAG 应用。 I9 s& P @" ^3 u8 z& I
* R' T5 t! i6 k" b% ^% r+ j* I
% ?0 b. v- L* ]0 ^' T( y! m 本文将从黑盒和白盒两个角度来讨论如何定量地评估一个 RAG 应用。. @. O8 a3 c/ b; v; q
+ _( M" F& \" z* F
) y/ J; }' _/ f* e N' ^2 f# O; {7 W
01.黑盒方法 V.S. 白盒方法9 X, i* q/ ^, K8 f# d
, f: V5 J9 Z$ J/ R
* @5 S% K0 E B0 o% q
我们把评估 RAG 应用类比为测试一个软件系统,可以从两个途径来评估 RAG 系统的好坏,一个是黑盒方法,一个是白盒方法。5 s, I e1 p! u, N! m
! f/ G1 W+ Q0 i* p7 ]
: p. Z& T3 k# ?: D5 E/ Q. i 当以黑盒方式来评估 RAG 应用时,我们看不到 RAG 应用的内部,只能从输入给 RAG 应用的信息和它返回的信息来评估 RAG 的效果。对于一般的 RAG 系统,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。我们使用这三个信息来评估 RAG 应用的效果,黑盒方式是一种端到端的评估方式,也比较适用于评估闭源的 RAG 应用。
4 b: I/ T1 i2 O+ }( u N' }% B' F" v! _2 q6 I
. S- Q' {( s! A. r# C* ?7 Z& t
当以白盒方式来评估 RAG 应用时,我们能看到 RAG 应用的内部所有流程。因此内部的一些关键组件就可以决定这个 RAG 应用表现的好坏。以常见的 RAG 应用流程为例,一些关键的组件包括 embedding model、rerank model 和LLM。有的 RAG 具备多路召回能力,可能还会有 基于词频的搜索方法(term frequency search) 算法,更换和升级这些关键组件也能为 RAG 应用带来更好的效果。白盒方式可以用来评估开源 RAG 应用,或者提升自研 RAG 应用。
c3 c; G6 p( c+ W0 D; d3 }7 w6 {! f) B
2 ]$ X" ^6 i. l V
02.黑盒的端到端评估方法
M3 p" h0 ^ Z' p5 B8 v+ _% Q& M5 [, v
4 {& k4 e; f8 @6 h
黑盒条件下评估指标9 b& E9 f, M0 x k# i' y8 k
% O( ]" K+ L2 D0 j8 A
/ y4 J: r$ w+ ~' t, v7 \ 在 RAG 应用是一个黑盒的情况下,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。它们是 RAG 整个过程中最重要的三元组,两两相互牵制。我们可以通过检测这三元组之间两两元素的相关度,来评估一个 RAG 应用的效果。6 q/ y1 c o! N' `
3 e6 |2 m0 \, H3 \* q+ M, i s
& g4 \9 W1 T, R" x 提出下面这三个对应的指标得分:
% h, G5 g, Y% X# x9 s8 D3 p) r1 g) }- W* p5 B4 f1 K; l
4 U" ~# e8 F. `/ o! ?7 E7 o& W
Context Relevance: 衡量召回的 Context 能够支持 Query 的程度。如果该得分低,反应出了召回了太多与 Query 问题无关的内容,这些错误的召回知识会对 LLM 的最终回答造成一定影响。' x2 S/ Z; |, M6 n! i
/ Q* [4 d7 |3 m& Y" T/ ?, O) E
2 S& g* t7 o" n% k
Faithfulness: 这个指标衡量了生成的答案在给定的上下文中的事实一致性。它是根据答案和检索到的上下文计算出来的如果该得分低,反应出了 LLM 的回答不遵从召回的知识,那么回答出现幻觉的可能就越大。! ]0 J: w& {! r" r' d
2 |$ B! K4 S W! r! `3 V
8 d: Q2 ]- O% _: M) o' b2 m Answer Relevance: 侧重于评估生成的答案与给定查询提示的相关性。对于不完整或包含冗余信息的答案,会分配较低的分数。7 a7 F) }9 v6 | Z/ d4 h! I
: M2 R& y- m" f7 y
|