如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?
0 E1 \& t0 H+ c) ]; A; ~8 F! g; I5 R0 y0 K$ L6 E
( Y, A1 U0 V; S
显然,无论对于用户还是开发者而言,国产的向量数据库准确评估 RAG 应用的性能都十分重要。然而,简单的几个例子对比并不能全面衡量 RAG 应用的回答质量,需要采用可信、可复现的指标来量化评估 RAG 应用。9 H8 \/ W. g. F4 Q0 J
2 t. l- @; D& h1 k4 `: [$ }1 i; Y3 v: f' `5 c& ]
本文将从黑盒和白盒两个角度来讨论如何定量地评估一个 RAG 应用。
9 g* n$ N! g/ _( { b
: G% J2 ?+ V S) I( k* {
9 p O% y H% r( b) Q+ b/ n/ g 01.黑盒方法 V.S. 白盒方法
2 R! Q1 P: Q3 f$ W9 T4 N6 b- ?/ C6 e5 q7 H3 l+ u/ x3 ~! E0 q$ E
. J: R' l# [) _. ^" e
我们把评估 RAG 应用类比为测试一个软件系统,可以从两个途径来评估 RAG 系统的好坏,一个是黑盒方法,一个是白盒方法。
1 V- H" v' {. y& Y( J, z: n
/ b ] W5 n- ~# V+ t3 Q
7 D/ }& r* p9 q) O 当以黑盒方式来评估 RAG 应用时,我们看不到 RAG 应用的内部,只能从输入给 RAG 应用的信息和它返回的信息来评估 RAG 的效果。对于一般的 RAG 系统,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。我们使用这三个信息来评估 RAG 应用的效果,黑盒方式是一种端到端的评估方式,也比较适用于评估闭源的 RAG 应用。! C1 W* N0 u2 m. o" k
, [ w" b7 y/ [+ l5 c$ N) r7 v
5 I) r/ l8 W% A; |3 k$ l" E* a 当以白盒方式来评估 RAG 应用时,我们能看到 RAG 应用的内部所有流程。因此内部的一些关键组件就可以决定这个 RAG 应用表现的好坏。以常见的 RAG 应用流程为例,一些关键的组件包括 embedding model、rerank model 和LLM。有的 RAG 具备多路召回能力,可能还会有 基于词频的搜索方法(term frequency search) 算法,更换和升级这些关键组件也能为 RAG 应用带来更好的效果。白盒方式可以用来评估开源 RAG 应用,或者提升自研 RAG 应用。: V' i$ ]1 b" t/ d
$ T# L/ K, V( S0 q
0 E# l; |/ R5 a5 w7 L% m! D u9 S
02.黑盒的端到端评估方法% k4 `* H4 X: Q
5 d" l0 {8 E% U& \6 O( k
% F7 O# e; i1 k0 G) r 黑盒条件下评估指标
& u; S* H g2 X! O$ j7 e3 E% e# f @' Y+ v3 k. @
$ R$ k8 [$ U+ p- G+ \ 在 RAG 应用是一个黑盒的情况下,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。它们是 RAG 整个过程中最重要的三元组,两两相互牵制。我们可以通过检测这三元组之间两两元素的相关度,来评估一个 RAG 应用的效果。
1 ^) \& m, Q% i. w( p4 D" |
. G; H) [, ~$ k8 i; m8 \
% B3 R8 k& D7 [1 D. O3 ^! D 提出下面这三个对应的指标得分:5 A& G Q7 P8 h4 G8 {
; O" x9 `4 W# d% A2 _$ m6 ^* A m
* E* }5 ?9 f" z" {6 o% y Context Relevance: 衡量召回的 Context 能够支持 Query 的程度。如果该得分低,反应出了召回了太多与 Query 问题无关的内容,这些错误的召回知识会对 LLM 的最终回答造成一定影响。8 l7 L" p, w! a. p* Z2 U' I6 t9 l( l* k
! F" I* G1 V5 B& K. s# f* t- [, M: P, k
Faithfulness: 这个指标衡量了生成的答案在给定的上下文中的事实一致性。它是根据答案和检索到的上下文计算出来的如果该得分低,反应出了 LLM 的回答不遵从召回的知识,那么回答出现幻觉的可能就越大。: Z' j7 C {/ K
6 y X4 f1 ] F' U
, x* Q8 e! `4 f5 C- v( T+ q; c Answer Relevance: 侧重于评估生成的答案与给定查询提示的相关性。对于不完整或包含冗余信息的答案,会分配较低的分数。, s) j& T9 H" J! C/ `/ F5 Y' ~3 v( f
' b x- J1 W3 D9 J' B+ Q+ ~7 a, w |