30 秒快速回答
RAGAS(Retrieval-Augmented Generation Assessment)是一个开源的 RAG 评测框架,用 Faithfulness(忠实度)、Answer Relevancy(答案相关性)、Context Precision(上下文精确率)、Context Recall(上下文召回率)等指标,从「检索是否准、生成是否靠谱」两个维度量化评估你的 RAG 系统。核心价值一句话:它把 RAG 的质量从「人工肉眼判断」变成「可自动计算的分数」,让你知道系统瓶颈到底在检索环节还是生成环节。
为什么你需要评测 RAG?
RAG 系统上线后最常见的尴尬是:用户问「发票报销流程」,系统却答非所问,或者一本正经地编造政策条款。问题到底出在哪?检索没召回对文档?排序把无关内容顶了上来?还是大模型没忠实于上下文?
没有量化评测,就只能靠人工抽样一条条看,既慢又不客观。RAGAS 通过构造「问题-参考答案-检索上下文-生成答案」四元组,用一套标准化指标自动打分,几分钟就能跑完一个测试集。它解决的正是 RAG 开发中「不知道好不好、不知道差在哪」的经典难题。
RAGAS 四大核心指标
| 指标 | 衡量对象 | 含义 | 越高代表 |
|---|---|---|---|
| Faithfulness 忠实度 | 生成环节 | 生成答案中的每一条陈述是否都可由检索到的上下文支撑 | 幻觉越少 |
| Answer Relevancy 答案相关性 | 生成环节 | 答案是否切题,而不是答非所问 | 回答越精准 |
| Context Precision 上下文精确率 | 检索环节 | 排序靠前的上下文是否真的相关(关注「相关内容是否排前面」) | 排序越合理 |
| Context Recall 上下文召回率 | 检索环节 | 回答所需的关键信息是否都被检索到(关注「该捞的是否都捞到了」) | 召回越完整 |
简单记忆:Faithfulness 防幻觉、Answer Relevancy 防跑题、Context Precision 防排序差、Context Recall 防漏检。前两个看生成,后两个看检索——四者结合,就能把故障定位到具体环节。
实战:用 RAGAS 评估你的系统
安装并运行 RAGAS 非常轻量(Python 3.9+):
pip install ragas
评估时只需提供测试问题和参考答案,RAGAS 会调用你的 RAG 系统拿检索上下文和最终答案,然后自动打分:
from ragas import evaluate
from ragas.metrics import (
faithfulness, answer_relevancy,
context_precision, context_recall
)
from datasets import Dataset
# 模拟一组评估数据:question 是测试问题,ground_truth 是人工标注的参考答案
data = {
"question": ["发票报销流程是什么?", "年假剩余天数怎么查?"],
"answer": ["报销需提交发票和审批单……", "在 OA 系统个人中心可查……"], # RAG 系统实际生成
"contexts": [["报销需提交发票、审批单,经部门主管审批后交财务。"], ["个人年假可在 OA 系统查询。"]], # 实际检索到的片段
"ground_truth": ["报销需提交发票和审批单,经主管审批后交财务。", "年假余额可在 OA 系统个人中心查询。"],
}
dataset = Dataset.from_dict(data)
result = evaluate(dataset, metrics=[
faithfulness, answer_relevancy,
context_precision, context_recall
])
print(result) # 输出各指标平均分(0-1)
如果希望评测更贴合真实场景,可以关闭 RAGAS 默认的 LLM 生成测试问题逻辑,直接喂你自己构造的、覆盖高频问题与边缘 case 的测试集——测试集质量直接决定评测可信度。
读懂分数,对症下药
拿到分数后按「低分定位」处理:
| 现象 | 瓶颈环节 | 优化方向 |
|---|---|---|
| Context Recall 低 | 检索召回不足 | 换更好的 embedding、调整分块策略(如语义分块)、增加混合检索 |
| Context Precision 低 | 排序不准 | 引入重排序(Reranker)、优化检索阈值 |
| Faithfulness 低 | 生成幻觉 | 收紧 prompt、限制模型只能基于上下文作答、提高上下文质量 |
| Answer Relevancy 低 | 生成跑题 | 优化指令模板、补充 few-shot 示例 |
相比纯人工评估,RAGAS 的优势是自动化、可复现、能跑回归;但它依赖 LLM 打分,会有一定成本与波动,建议与人工抽样(如每轮 50 条)结合使用,形成「机器粗筛 + 人工精审」的闭环。这也是 2026 年主流团队的标配做法。
总结与延伸阅读
总结三个要点:
- RAGAS 用四大指标把 RAG 质量拆成检索与生成两个维度,分数即定位线索;
- 评估数据要自己构造,覆盖高频问题与边界场景,别依赖框架生成的合成问题;
- 评测要进迭代流程,每次改动(换模型、调分块、加重排)都跑一遍回归,防止优化 A 指标时弄坏 B 指标。
延伸阅读建议:想提升 Context Recall,看本站《什么是语义分块(Semantic Chunking)?RAG 检索质量的基石全解析》;想优化排序精度,看《什么是混合检索与重排序?RAG 检索质量提升的核心技术》;想让检索更智能,看《什么是 Contextual Retrieval?Anthropic 让 RAG 检索失败率降低 35% 的嵌入增强技术全解析》和《什么是 Adaptive RAG?自适应检索增强生成的原理与实践全解析》。