大型语言模型(LLMs)作为一种生成式 AI 技术,在近两年内获得了显著的关注和应用。但是在实际部署中,LLMs 的知识局限性和幻觉问题仍然是一个挑战。检索增强生成(Retrieval Augmented Generation,RAG)通过为 LLM 提供额外的外部知识和上下文,有效地解决了这些问题。截至 2024 年,RAG 已经成为应用生成式 AI 领域中最具影响力的技术之一。事实上,几乎所有基于 LLM 的应用都在某种程度上采用了 RAG 技术。

RAG 通过引入非参数记忆访问来增强 LLM 的参数记忆能力。
RAG 评估:超越表面实现
为了充分发挥 RAG 的潜力,使 LLM 的响应能够切实地建立在可靠数据基础之上,我们需要超越简单的索引、检索、增强和生成的实现方式。要实现这一目标,首先需要建立有效的性能度量标准。RAG 评估为建立系统性能基准提供了重要依据,进而为后续的优化提供了方向。
构建 RAG 概念验证(PoC)管道的复杂度相对较低。借助 LangChain 和 LlamaIndex 等工具,这一过程已经变得相对简单。通过简短的训练和有限样本的验证即可实现初步功能。但是为了提高系统的鲁棒性,在真实反映生产环境用例的数据集上进行全面测试至关重要。值得注意的是 RAG 管道本身也可能产生幻觉。从宏观角度来看,RAG 系统存在三个主要的失效点:
- 检索器未能检索到完整或相关的上下文
- LLM 虽然接收到上下文,但未能有效利用
- LLM 没有针对查询给出回答,而是从上下文中提取了不相关信息

本文将重点讨论几个专注于评估第一个失效点的指标 —— '检索器未能检索到完整或相关上下文'。换言之这些指标旨在评估检索器的质量。
检索指标概述
用于评估 RAG 系统的指标可以大致分为三类:
- 信息检索任务中使用的检索指标(本文的讨论重点)
- 专注于评估生成内容流畅性、相关性和语义相似性的指标,如 BLEU、ROUGE、METEOR 等
- 随 RAG 应用发展而演变的特定指标
RAG 的检索组件可以独立评估确定检索器满足用户查询的能力。我们将详细介绍七个广泛应用于 RAG、搜索引擎、推荐系统等信息检索任务的重要指标。
注:在 RAG 中,知识库是一个核心概念。它是一个非参数记忆存储,用于存储 RAG 系统将处理的所有文档。
核心检索指标详解
1. 准确率(Accuracy)
准确率在信息检索领域通常定义为正确预测(包括真阳性和真阴性)占总样本的比例。这一概念源自监督学习中的分类问题,但在检索和 RAG 语境下有其特定解释:
准确率 = (检索到的相关文档数 + 未检索到的不相关文档数) / 知识库中总文档数
尽管准确率是一个直观的指标,但它并不是评估检索系统的最佳选择。在大型知识库中,对于任何给定查询大多数文档通常都是不相关的,这可能导致准确率呈现误导性的高值。此外该指标并不考虑检索结果的排序质量。
2. 精确率(Precision)
精确率聚焦于检索结果的质量,衡量检索到的文档中与用户查询相关的比例。它回答了这样一个问题:在所有被检索到的文档中,有多少是真正相关的?
精确率 = 检索到的相关文档数 / 检索到的总文档数
高精确率表明检索器能够有效地识别和提取相关文档。
注:精确率在分类任务中也是一个常用指标,定义为模型预测为正例的样本中实际为正例的比例,即真阳性 /(真阳性 + 假阳性)。






