评估 RAG 系统的“RAG 三元组”(RAG Triad)指标分别是什么?
“RAG 三元组”(RAG Triad)是评估检索增强生成(RAG)系统质量的一个核心框架,主要由 TruLens 等评估工具提出并推广。它通过分析 RAG 系统中三个核心组件(提问/Query、上下文/Context、回答/Response)之间的两两关系,来衡量系统的可靠性。
这三个指标分别是:
- 上下文相关性 (Context Relevance)
- 真实性/有据性 (Groundedness)
- 答案相关性 (Answer Relevance)
1. 上下文相关性 (Context Relevance)
- 连接关系: 用户提问 (Query) 检索到的上下文 (Context)
- 核心问题: “检索到的内容跟用户的问题有关系吗?”
- 详细定义:
- 衡量检索组件(Retriever)的质量。
- 它检查检索到的文档块(Chunks)是否包含回答用户问题所需的信息。
- 如果检索到的内容充满了无关的噪音,LLM 就很难生成正确的答案,或者会因为上下文窗口被无关信息填满而产生幻觉。
- 低分意味着: 检索系统太差,找回来的都是不相关的信息。
2. 真实性 / 有据性 (Groundedness)
- 连接关系: 检索到的上下文 (Context) LLM 生成的回答 (Response)
- 核心问题: “生成的回答是基于检索到的内容吗?”
- 详细定义:
- 衡量生成组件(Generator/LLM)对上下文的忠实程度(有时也称为 Faithfulness)。
- 它检查回答中的每一个事实声明(Claim)是否都能在检索到的上下文中找到依据。
- RAG 的核心目的就是抑制幻觉,如果 LLM 忽略了上下文而利用其预训练知识胡编乱造,即使答案看起来很通顺,这个指标也会很低。
- 低分意味着: 模型在产生幻觉(Hallucination),或者没有遵循给定的参考资料。
3. 答案相关性 (Answer Relevance)
- 连接关系: 用户提问 (Query) LLM 生成的回答 (Response)
- 核心问题: “生成的回答真正解决用户的问题了吗?”
- 详细定义:
- 衡量最终输出对用户意图的满足程度。
- 一个回答可能完全基于上下文(Groundedness 高),但却答非所问。例如,用户问“怎么重置密码?”,系统回答“密码策略包含大小写字母”(这是基于上下文的事实,但没回答怎么重置)。
- 低分意味着: 回答虽然可能是事实正确的,但对用户没有帮助,偏离了问题核心。
总结图示
为了方便记忆,可以将其想象为一个三角形:
plaintext
用户提问 (Query)
/ \
/ \
(上下文相关性) (答案相关性)
/ \
/ \
检索上下文 ---------> 生成回答
(Context) (真实性) (Response)
为什么这个三元组很重要?
这三个指标共同构成了一个闭环,可以帮助开发者快速定位 RAG 系统的短板:
- 如果 上下文相关性 低 优化检索策略(如混合检索、重排序 Rerank、调整分块大小)。
- 如果 真实性 低 优化 Prompt(提示词工程),降低模型温度,或更换指令遵循能力更强的模型。
- 如果 答案相关性 低 优化 Prompt 中的回答风格,或者检查是否检索到了错误维度的信息。