如果你是一名用户,拥有两个不同的 RAG 应用,如何评判哪个更好?对于开发者而言,如何定量迭代提升你的 RAG 应用的性能?' j; y7 G) e. O/ F
2 i4 `/ W9 d3 l' Y% z
& S; B K1 l; o, s8 x6 ^: h 显然,无论对于用户还是开发者而言,国产的向量数据库准确评估 RAG 应用的性能都十分重要。然而,简单的几个例子对比并不能全面衡量 RAG 应用的回答质量,需要采用可信、可复现的指标来量化评估 RAG 应用。4 m, V' _9 ?! f d1 a
+ E, n$ y$ y3 N$ e( E! o/ s7 r
P( R$ P% C% i 本文将从黑盒和白盒两个角度来讨论如何定量地评估一个 RAG 应用。
( G) p; {; a' D+ h S0 K( K
* D. C+ U" m7 r/ K, x1 z. K2 {1 O- x! H; ?& Z0 a% Y, [
01.黑盒方法 V.S. 白盒方法) J; o6 `' ?/ N: G6 I% |
4 u. i- ?! `, q. U/ ~) e) ^6 C' L
: a" b7 b4 [4 j3 h( n* W+ H$ J/ Y& ^; ? 我们把评估 RAG 应用类比为测试一个软件系统,可以从两个途径来评估 RAG 系统的好坏,一个是黑盒方法,一个是白盒方法。
# @2 a2 x9 |* E4 h' Y5 b; _( @ e
# X% y }5 Q0 C: I
当以黑盒方式来评估 RAG 应用时,我们看不到 RAG 应用的内部,只能从输入给 RAG 应用的信息和它返回的信息来评估 RAG 的效果。对于一般的 RAG 系统,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。我们使用这三个信息来评估 RAG 应用的效果,黑盒方式是一种端到端的评估方式,也比较适用于评估闭源的 RAG 应用。
$ u* w4 I; u8 K) E
4 m1 u! y s4 y9 t4 V1 B: L- T7 R1 M' N3 w8 a4 d, O4 K0 o
当以白盒方式来评估 RAG 应用时,我们能看到 RAG 应用的内部所有流程。因此内部的一些关键组件就可以决定这个 RAG 应用表现的好坏。以常见的 RAG 应用流程为例,一些关键的组件包括 embedding model、rerank model 和LLM。有的 RAG 具备多路召回能力,可能还会有 基于词频的搜索方法(term frequency search) 算法,更换和升级这些关键组件也能为 RAG 应用带来更好的效果。白盒方式可以用来评估开源 RAG 应用,或者提升自研 RAG 应用。
7 S$ P4 l; R% s. N$ s2 S
7 t$ O/ e% U( Y* Y S' J9 e
# V5 J9 q X7 j/ y4 C 02.黑盒的端到端评估方法
- ~, r; g J% i' u/ s5 u& `8 [9 X( l6 [9 e h2 V
1 u& b y6 o5 \$ h3 n
黑盒条件下评估指标
1 Q0 p0 W+ d: V3 S. p$ k( n
) D6 v! r& v0 U. u9 ~1 q3 @1 O/ V) c7 N+ g/ u- H! `; u# F8 d
在 RAG 应用是一个黑盒的情况下,我们只能访问这三个信息:用户提问(User's query)、RAG 系统召回的引用上下文(retrieved contexts)、RAG 系统的回答(RAG's response)。它们是 RAG 整个过程中最重要的三元组,两两相互牵制。我们可以通过检测这三元组之间两两元素的相关度,来评估一个 RAG 应用的效果。
2 ~2 ~" T' T& I/ D$ n5 o/ k' M% U8 l& I. f) l
5 H' ?3 D; k! p4 J$ G 提出下面这三个对应的指标得分:% r* @0 J& e# @3 q o9 ?: K; ?- X
. H' w% D+ u( M, U9 e5 O$ b7 k+ E
' x) e4 j' W* C; `3 k% a
Context Relevance: 衡量召回的 Context 能够支持 Query 的程度。如果该得分低,反应出了召回了太多与 Query 问题无关的内容,这些错误的召回知识会对 LLM 的最终回答造成一定影响。9 D0 G0 `6 G: P
% {2 w1 d3 L$ p5 |* B
6 k1 R+ b) I3 }# H4 y1 E Faithfulness: 这个指标衡量了生成的答案在给定的上下文中的事实一致性。它是根据答案和检索到的上下文计算出来的如果该得分低,反应出了 LLM 的回答不遵从召回的知识,那么回答出现幻觉的可能就越大。
8 L9 W3 t; \2 d8 H% ^0 M9 p* W: a3 q% F" l
8 d( i- k. M0 h5 X Answer Relevance: 侧重于评估生成的答案与给定查询提示的相关性。对于不完整或包含冗余信息的答案,会分配较低的分数。
8 t+ v7 y6 c& A
- Q2 i9 @+ ?, u( @# S; C |