RAG 的评估指标总结
RAG(检索增强生成)系统的评估需覆盖 “检索阶段” 和 “生成阶段” 两个核心环节,同时关注两者的协同效果。以下是主要评估指标,按阶段分类整理:
一、检索阶段评估指标(核心评估 “召回质量”)
| 指标类型 | 具体指标 | 定义 | 作用 |
|---|---|---|---|
| 召回能力 | 召回率(Recall) | 检索到的相关文档数 / 所有相关文档总数 | 衡量检索是否 “全面”,避免遗漏关键信息(如召回率低,可能遗漏核心论据)。 |
| 精准能力 | 精确率(Precision) | 检索到的相关文档数 / 检索到的所有文档数 | 衡量检索是否 “精准”,减少无关信息干扰(如精确率低,生成时易引入噪音)。 |
| 排序合理性 | MRR(平均倒数排名) | 相关文档中排名最高的位置倒数的平均值(如第 1 名得 1,第 2 名得 1/2) | 评估 “最相关文档是否排在前面”,优先保障核心信息的获取效率。 |
| 排序合理性 | NDCG(归一化折损累积增益) | 综合考虑所有相关文档的排名位置,排名越靠前的相关文档权重越高 | 评估整体排序质量,适用于 “多个相关文档均需参考” 的场景(如长文本生成)。 |
| 语义匹配 | 语义相似度得分 | 检索文档与查询的语义匹配度(如通过 BERT 等模型计算) | 弥补传统关键词匹配的局限,评估 “语义层面的相关性”(如同义词、 paraphrase 场景)。 |
二、生成阶段评估指标(核心评估 “答案质量”)
| 指标类型 | 具体指标 | 定义 | 作用 |
|---|---|---|---|
| 事实一致性 | 事实准确率(Factuality) | 生成内容中与检索文档一致的事实性信息占比 | 核心指标,衡量生成答案是否 “基于检索信息”,避免幻觉(如错误数据、编造内容)。 |
| 信息完整性 | 答案覆盖率 | 生成内容覆盖的检索相关信息占所有检索相关信息的比例 | 评估是否充分利用检索到的信息,避免 “检索到但未使用关键信息” 的问题。 |
| 相关性 | 答案相关性 | 生成内容与用户查询的主题匹配度(人工或模型评分,如通过 ROUGE、BLEU 辅助) | 确保生成内容紧扣问题,不偏离用户需求(如用户问 “AI 历史”,答案不跑题)。 |
| 流畅性与可读性 | 语言流畅度 | 生成文本的语法正确性、逻辑连贯性(如通过 GPT 类模型评分或人工评估) | 保障答案 “易理解”,即使信息准确,晦涩的表达也会降低用户体验。 |
三、综合评估指标(兼顾检索与生成的协同效果)
| 指标名称 | 定义 | 适用场景 |
|---|---|---|
| 归因准确率(Attribution Accuracy) | 生成内容中每个事实性陈述均可追溯到检索文档的比例 | 需严格验证 “答案来源” 的场景(如学术问答、法律咨询)。 |
| 幻觉率(Hallucination Rate) | 生成内容中未在检索文档中出现且错误的信息占比 | 对 “真实性” 要求极高的场景(如医疗问答、金融信息查询)。 |
| 用户满意度 | 基于用户反馈的评分(如星级、是否解决问题) | 落地场景的最终衡量标准,综合反映检索精准度、生成质量、交互体验等。 |
计算逻辑
| 评估维度 | 核心指标 | 计算逻辑 | 适用场景 |
|---|---|---|---|
| 检索阶段 | 召回率(Recall) | 召回率 = (检索到的相关文档数量) / (所有应被检索到的相关文档总数) 例:需检索 5 篇相关文档,实际检索到 3 篇 → 召回率 = 3/5=60% | 衡量检索全面性(是否漏检关键信息) |
| 精确率(Precision) | 精确率 = (检索到的相关文档数量) / (检索到的所有文档总数) 例:检索到 10 篇文档,其中 6 篇相关 → 精确率 = 6/10=60% | 衡量检索准确性(是否混入无关信息) | |
| F1 分数(F1-Score) | F1 = 2 ×(精确率 × 召回率) / (精确率 + 召回率) 例:精确率 60%、召回率 60% → F1=2×(0.6×0.6)/(0.6+0.6)=60% | 综合评估检索的精确与全面性 | |
| 平均 reciprocal 排名(MRR) | 对每个查询,取 “第一个相关文档在检索结果中的排名” 的倒数,再计算所有查询的平均值。 例:2 个查询中,第一个相关文档分别排第 2、第 3 → MRR=(1/2 + 1/3)/2≈0.417 | 评估检索结果的 “首条相关性” | |
| 生成阶段 | 答案准确率(Answer Accuracy) | 人工或自动判断生成答案与 “标准答案” 的匹配程度(如完全匹配、部分匹配、错误),准确率 =(正确答案数量)/(总答案数量)。 自动计算可通过文本相似度(如 BERTScore)辅助:分数越高,准确率越高。 | 衡量生成内容的正确性 |
| 事实一致性(Factuality) | 通过模型(如 FactScore、FEVER)对比生成答案与检索到的源文档: 事实一致 = 答案所有信息可从源文档验证; 事实冲突 = 答案信息与源文档矛盾; 无依据 = 答案信息未在源文档中出现。 一致性 =(事实一致数量)/(总答案数量) | 评估生成内容是否基于检索到的事实 | |
| 相关性(Relevance) | 人工或模型判断生成答案与 “用户查询” 的关联度(如完全相关、部分相关、无关),相关性 =(相关答案数量)/(总答案数量)。 自动计算可使用语义相似度模型(如 Sentence-BERT),分数越高相关性越强。 | 评估生成内容是否紧扣用户需求 | |
| 综合效果 | 响应时间(Response Time) | 从 “用户输入查询” 到 “系统返回答案” 的总耗时,直接通过计时工具(如代码中嵌入时间戳)计算。 | 衡量系统效率(尤其对实时性要求场景) |
| 用户满意度(User Satisfaction) | 通过用户反馈评分(如 1-5 星)计算,满意度 =(所有评分总和)/(评分总次数)。 |
总结话术
RAG 系统的评估需从 “检索” 和 “生成” 两个核心环节出发:
- 检索阶段 重点通过召回率、精确率、MRR、NDCG 等指标评估 “是否找到足够相关且排序合理的信息”,确保生成阶段有高质量的 “素材”;
- 生成阶段 聚焦事实一致性、信息完整性、相关性等指标,评估 “是否基于检索信息生成准确、有用的答案”;
- 综合指标(如归因准确率、用户满意度)则从实际应用角度,验证检索与生成的协同效果,确保系统在具体场景中真正解决问题。
不同场景需侧重不同指标(如医疗场景优先事实一致性,闲聊场景可放宽流畅性权重),实际评估中常结合自动指标(高效)与人工评估(精准)。