如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?. \0 o" Z& k4 H! `9 n
0 W H8 O# |9 U7 y$ D9 j$ V, B: w; g0 u' F4 A
显然,无论对于用户还是开发者而言,国产的向量数据库准确评估 RAG 应用的性能都十分重要。然而,简单的几个例子对比并不能全面衡量 RAG 应用的回答质量,需要采用可信、可复现的指标来量化评估 RAG 应用。
: [3 o& n$ g7 h: Z
) s$ a7 z' G/ G7 D, z/ F X$ J: @" ]# a
本文将从黑盒和白盒两个角度来讨论如何定量地评估一个 RAG 应用。
9 ~! [. Q- T' v
8 o) H- [% [4 D" W7 i' Q1 v- d: Y! @1 e8 |" q" H
01.黑盒方法 V.S. 白盒方法
8 a2 S# w$ B, k" l- j4 l6 F9 k: @0 V$ o" F! H
' ^# Z5 v2 O- W 我们把评估 RAG 应用类比为测试一个软件系统,可以从两个途径来评估 RAG 系统的好坏,一个是黑盒方法,一个是白盒方法。5 H# X$ I9 F* Y7 R7 c7 N
F+ N- x. N, E T* x/ O' I
3 N( n# a$ `& y( E 当以黑盒方式来评估 RAG 应用时,我们看不到 RAG 应用的内部,只能从输入给 RAG 应用的信息和它返回的信息来评估 RAG 的效果。对于一般的 RAG 系统,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。我们使用这三个信息来评估 RAG 应用的效果,黑盒方式是一种端到端的评估方式,也比较适用于评估闭源的 RAG 应用。
9 l- y v" {; _
2 T8 Z, e! b8 m/ n6 W7 o+ S( R$ v) f3 n5 \# T3 Z. V
当以白盒方式来评估 RAG 应用时,我们能看到 RAG 应用的内部所有流程。因此内部的一些关键组件就可以决定这个 RAG 应用表现的好坏。以常见的 RAG 应用流程为例,一些关键的组件包括 embedding model、rerank model 和LLM。有的 RAG 具备多路召回能力,可能还会有 基于词频的搜索方法(term frequency search) 算法,更换和升级这些关键组件也能为 RAG 应用带来更好的效果。白盒方式可以用来评估开源 RAG 应用,或者提升自研 RAG 应用。
$ w) \$ V; H8 \6 o2 H7 t' S) M+ m z+ _
: K& x5 y- f a 02.黑盒的端到端评估方法0 I1 Z0 J0 r2 Z/ q$ r, ~, S$ o8 R
" j* _. ]* u2 y& N/ X: q/ a- [& N4 `; Y' @% N! N
黑盒条件下评估指标- o9 ~, k( n* y5 A. y# E
3 p3 g3 ]: e g/ Z8 V8 G' a$ p& N, q$ P U2 k; c! z/ b
在 RAG 应用是一个黑盒的情况下,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。它们是 RAG 整个过程中最重要的三元组,两两相互牵制。我们可以通过检测这三元组之间两两元素的相关度,来评估一个 RAG 应用的效果。
: B8 o! z) Z) i( g0 p9 M6 ]: @/ X* \. ~& D R$ l+ e
* C7 Q( ]- \9 L9 @- r 提出下面这三个对应的指标得分:
1 t/ `, _. ` ?8 O; P" \( Z% X
3 f- s9 y: v% T5 ]( B( A) a% E# d6 G: u- F J
Context Relevance: 衡量召回的 Context 能够支持 Query 的程度。如果该得分低,反应出了召回了太多与 Query 问题无关的内容,这些错误的召回知识会对 LLM 的最终回答造成一定影响。- Z- x$ [2 v$ X# d l7 K0 K8 L1 C
& e- g, u% H" E `- J! [% A
y' I/ B7 k) ]7 a) V: J* ? Faithfulness: 这个指标衡量了生成的答案在给定的上下文中的事实一致性。它是根据答案和检索到的上下文计算出来的如果该得分低,反应出了 LLM 的回答不遵从召回的知识,那么回答出现幻觉的可能就越大。4 M. ]; P" r `" H7 z, A
# D" R' R& F6 m* n
! D/ E( W$ n$ |+ X Y) j k Answer Relevance: 侧重于评估生成的答案与给定查询提示的相关性。对于不完整或包含冗余信息的答案,会分配较低的分数。, G' k$ z! \( o3 u, h( T' V3 g
% M- _& B- @4 \/ k- u* z9 m* J: A |