如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?
5 v( d# o+ }$ T4 ?$ `, h x+ E% s1 V
/ r0 P" [8 T, [7 I
- V6 c$ H$ x; U/ O- U( R9 X+ t 显然,无论对于用户还是开发者而言,国产的向量数据库准确评估 RAG 应用的性能都十分重要。然而,简单的几个例子对比并不能全面衡量 RAG 应用的回答质量,需要采用可信、可复现的指标来量化评估 RAG 应用。
1 Q. J1 X; |. j- ~. Z! t. r& \, z+ @6 m% N+ w' k
/ \1 G2 r6 C$ Z: s9 K+ l; E6 p
本文将从黑盒和白盒两个角度来讨论如何定量地评估一个 RAG 应用。
7 Z% c+ v/ P; j$ J. Q7 s8 P4 p; v3 ]) }: U2 J, Z
1 ^2 H. @4 ]$ s
01.黑盒方法 V.S. 白盒方法/ o4 f3 _( P, _. l
. t4 i! C$ h8 t' B; h" j
* J4 c3 O# y* x# Y3 }" A 我们把评估 RAG 应用类比为测试一个软件系统,可以从两个途径来评估 RAG 系统的好坏,一个是黑盒方法,一个是白盒方法。; `7 s* ?% v/ f8 S2 S
% X% U1 |9 f9 R' s0 }; \/ Z
. I1 _& T* m8 j 当以黑盒方式来评估 RAG 应用时,我们看不到 RAG 应用的内部,只能从输入给 RAG 应用的信息和它返回的信息来评估 RAG 的效果。对于一般的 RAG 系统,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。我们使用这三个信息来评估 RAG 应用的效果,黑盒方式是一种端到端的评估方式,也比较适用于评估闭源的 RAG 应用。0 j2 q2 ]6 t5 Z: `$ `, c+ Q0 w
1 W0 t3 [% Q+ a% L- p6 i1 P$ ? o
7 n6 S0 x, Q0 M7 } 当以白盒方式来评估 RAG 应用时,我们能看到 RAG 应用的内部所有流程。因此内部的一些关键组件就可以决定这个 RAG 应用表现的好坏。以常见的 RAG 应用流程为例,一些关键的组件包括 embedding model、rerank model 和LLM。有的 RAG 具备多路召回能力,可能还会有 基于词频的搜索方法(term frequency search) 算法,更换和升级这些关键组件也能为 RAG 应用带来更好的效果。白盒方式可以用来评估开源 RAG 应用,或者提升自研 RAG 应用。
5 p x7 S3 ^/ |( F. C9 \- B+ ?" y- [) D1 B, q" a' }/ T
+ }# S6 n6 z* k A0 e# a; j+ y
02.黑盒的端到端评估方法
8 b* t) S# {% D$ Q# T0 C
7 }4 D8 y8 U! [1 A! U) s# x$ S b7 y$ c2 x+ V# y+ l& [
黑盒条件下评估指标
; O, K. S6 H7 Q% X* q, q3 G
* ]+ P* S+ U/ F! `+ u2 [: F- l
# p0 D" H3 g( ]7 u0 L" u; v% w- k 在 RAG 应用是一个黑盒的情况下,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。它们是 RAG 整个过程中最重要的三元组,两两相互牵制。我们可以通过检测这三元组之间两两元素的相关度,来评估一个 RAG 应用的效果。, V% B: b$ `. C1 A: c1 H! ?4 k
" W& G3 B1 P: r8 r7 [
- @1 [2 ^8 W& d% [7 v 提出下面这三个对应的指标得分:
9 n4 Z0 F" Z' R2 |9 R4 ?1 t- @2 E* G
( \/ h% H* ^( _2 u) B( s1 b
Context Relevance: 衡量召回的 Context 能够支持 Query 的程度。如果该得分低,反应出了召回了太多与 Query 问题无关的内容,这些错误的召回知识会对 LLM 的最终回答造成一定影响。
- F6 c. Z) E# w; W4 u6 Q
/ Q( K5 Z% y4 a1 C+ V2 W
) g! z7 h+ z7 s/ ~ Faithfulness: 这个指标衡量了生成的答案在给定的上下文中的事实一致性。它是根据答案和检索到的上下文计算出来的如果该得分低,反应出了 LLM 的回答不遵从召回的知识,那么回答出现幻觉的可能就越大。7 c9 T% R- y3 \9 h/ K, u% i( V
+ A. S+ Y" k/ R7 M- O3 J
5 e0 k+ S& O4 a$ B Answer Relevance: 侧重于评估生成的答案与给定查询提示的相关性。对于不完整或包含冗余信息的答案,会分配较低的分数。
# V( y& m5 j: P+ P8 b6 [; v6 V( D7 k9 H) i1 J
|