首页/AI/RAG 与向量库速查/RAGAS 评估框架入门

RAGAS 评估框架入门

RAGAS 面向 RAG 管线提供自动化评估:给定「问题、答案、检索上下文、(可选)标准答案」,计算忠实度、答案相关性、上下文精度与召回等指标;指标基于 LLM 与嵌入模型计算,需指定模型。

RAG 与向量库速查AI更新于 2026-10-13

RAGAS 是什么

RAGAS 是面向 RAG 管线的自动化评估框架。给它一批「问题、模型答案、检索上下文、可选标准答案」,它用大模型与嵌入模型计算忠实度、答案相关性、上下文精度与上下文召回等指标,把「效果好不好」变成可横向对比的数字,让改动的收益可被验证。

基本信息

输入字段question、answer、contexts,可选 ground_truth
计算依赖裁判用 LLM + 嵌入模型,需显式配置
输出0 到 1 的分数,越高越好
使用前提跨批次比较时固定裁判模型与评测提示词版本
典型用途回归测试、对比不同切分与检索策略

最小示例(Python)

最小示例(Python)
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision
from datasets import Dataset

ds = Dataset.from_dict({
    "question": ["如何选择向量数据库?"],
    "answer": ["按数据规模与过滤需求选择……"],
    "contexts": [["选型要考虑……", "Milvus 定位于……"]],
    "ground_truth": ["按规模、过滤、运维成本综合选择"],
})
result = evaluate(ds, metrics=[faithfulness, answer_relevancy, context_precision])
print(result)

常用指标

  • faithfulness:答案中的事实性陈述有多少能被检索上下文支撑,用来发现幻觉
  • answer_relevancy:答案是否切题,对答非所问敏感,但不检查事实正确性
  • context_precision:相关片段是否排在前部,反映排序质量
  • context_recall:标准答案所需信息是否都被上下文覆盖,反映召回完整性
  • answer_correctness 一类指标:需要标准答案,更接近人工判分

使用要点

  • 先攒评测集:从真实问题里挑 50 至 200 条,覆盖不同文档与问法
  • 上下文要与线上一致:用检索返回的切片,而不是把原始文档整段丢进去
  • 指标要成组看:只看忠实度会漏掉「每句都有据但答错问题」的情况
  • 结果要固化:把分数与当时的链路配置一起存档,才知道是哪次改动带来的变化

常见坑与做法

现象原因正确做法
分数波动大裁判模型或提示词版本变了固定版本并向评分结果里记录配置
指标普遍偏高评测集太简单或与线上分布不同按业务场景分层抽样建集
context_recall 报错缺少 ground_truth 字段补标准答案或改用标注片段集合
评估结果依赖所用裁判模型:跨批次对比时固定模型与提示词版本,指标才可比。

易错点

  • 换裁判模型后直接对比历史分数,把评分口径变化误读为管线变化
  • 评估集上下文用了未切片的原文,与线上检索行为不一致,指标虚高
  • 评测集只覆盖简单问题,真实场景里的多跳与指代类问题没有样本
  • 只看总分不看分项,无法判断问题出在检索还是生成

数据来源与参考

  • RAGAS 官方文档(Get Started / Metrics)
  • Es et al., RAGAS: Automated Evaluation of Retrieval Augmented Generation (arXiv:2309.15217)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌