当前位置: 首页 > news >正文

大模型|大模型中的RAG 的评估

🌞欢迎来到人工智能的世界
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

📆首发时间:🌹2026年6月4日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

RAG 系统基础回顾

用户问题

检索文档

组织上下文

大模型生成答案

为什么要评估 RAG

答案对,但检索错

检索对,但答案错

答案相关,但不完整

答案流畅,但其实是幻觉

传统检索评估指标 Precision / Recall / F1

Precision 精准率

Recall 召回率

F1-Score

Ragas 自动化评估

Ragas 是什么

Ragas 需要什么数据

Ragas 的五个核心指标

faithfulness:忠实性

answer_relevancy:答案相关性

context_precision:上下文精准率

context_recall:上下文召回率

TruLens 评估与可观测性

TruLens 是什么

TruLens 的三个核心指标

Context Relevance:上下文相关性

Groundedness:依据性

Answer Relevance:答案相关性

RAG 系统基础回顾

一个 RAG 系统的核心流程是:

用户问题 -> 检索相关文档 -> 组织上下文 -> 大模型生成答案

用户问题

什么情况导致了极端天气事件?

检索文档
source/resources/document_1.txt ... source/resources/document_10.txt

其中和“极端天气事件”相关的是 document_9.txt,里面有这段信息:

随着温室气体的排放增加,全球气温逐渐升高,导致极端天气事件频发,如暴雨、干旱、台风等。
组织上下文

检索出来的文档会被放进 prompt 里,作为大模型回答问题的依据。

根据以下上下文,回答问题。 上下文: 天气相关文档内容... 问题: 什么情况导致了极端天气事件? 回答:
大模型生成答案
随着温室气体排放增加,全球气温逐渐升高,从而导致暴雨、干旱、台风等极端天气事件频发。

这个回答如果来自检索到的上下文,就说明 RAG 系统工作正常。

但这里有一个很关键的点:RAG 的答案对,不一定代表 RAG 系统好。

比如系统没有检索到天气文档,而是检索到了 NBA 文档,但大模型凭自己的常识回答对了。这种

情况看起来答案没错,但 RAG 流程其实失败了。所以我们评估 RAG 时,要同时看两件事:

检索有没有找对? 生成有没有忠于检索内容?
环节可能的问题后面对应的评估方向
检索找到无关文档上下文精准率
检索漏掉重要文档上下文召回率
生成答案和问题不相关( 答案没有真正回答用户问题)答案相关性
生成答案包含上下文没有的信息忠实性 / 依据性
生成答案和标准答案差距大(答案没有真正回答用户问题)答案相似度

RAG = 检索 + 生成
RAG 评估 = 评估检索质量 + 评估生成质量


为什么要评估 RAG

为什么 RAG 系统不能只看最终答案?

因为 RAG 系统不是一个单点模型,而是一条链路:问题 -> 检索 -> 上下文 -> 生成 -> 答案只要其

中任何一环出错,最终系统就可能不可靠。

答案对,但检索错

比如用户问: 什么情况导致了极端天气事件?

但假设系统检索到的是:

NBA季后赛文档 金融风险管理文档 人工智能就业文档

这些上下文和问题基本无关。

可是大模型本身可能知道“温室气体排放导致全球变暖,从而引发极端天气”,所以它仍然答对了。

表面看:答案正确

但真实情况是:RAG 检索失败了,只是大模型靠自己的知识蒙对了

这类系统不能信任。因为下一次遇到企业内部文档、医学资料、法律条款时,大模型可能就不能靠

常识答对了。

所以我们需要评估:检索出来的上下文到底是不是相关的?

这就对应后面的:context_precision Context Relevance

检索对,但答案错

第二种情况也很常见。系统找到了正确文档,比如天气文档里写着:随着温室气体的排放增加,全

球气温逐渐升高,导致极端天气事件频发。

但模型回答成:极端天气事件主要是由于 NBA 季后赛赛程密集导致的。

这就很明显是生成环节出了问题。 检索是对的,生成是错的

所以我们还要评估: 答案是否忠于给定上下文?

这就对应:faithfulness Groundedness

它们关注的不是答案听起来顺不顺,而是答案有没有被上下文支持。

答案相关,但不完整

还有一种情况更微妙。用户问:人工智能如何在金融领域的风险管理中发挥作用?

知识库中提到两点:1. 评估客户信用风险 2. 监测市场波动,发现潜在风险

如果模型只回答:人工智能可以评估客户信用风险。

这个答案不是错的,但不完整。它漏掉了“监测市场波动”这一部分。

所以我们需要评估:

检索内容是否覆盖了标准答案所需的信息? 答案是否覆盖了关键事实?

这就对应:

context_recall answer_similarity
答案流畅,但其实是幻觉

大模型很擅长生成自然、完整、像那么回事的答案。

比如问:《红楼梦》中有哪些人物?

如果模型回答:《红楼梦》中有贾宝玉、林黛玉、薛宝钗、孙悟空、诸葛亮。

这个回答语法没问题,也很流畅,但内容混入了错误人物。

这就是典型幻觉。这就是典型幻觉。

在 RAG 中,我们不希望模型随便发挥,而是希望它: 根据检索到的上下文回答

问题类型说明对应评估方向
检索不准找到了无关文档上下文精准率
检索不全漏掉关键文档上下文召回率
回答不忠实答案包含上下文没有的信息忠实性 / 依据性
回答不切题答案没有真正回答用户问题答案相关性


传统检索评估指标 Precision / Recall / F1

先看一个检索场景,假设知识库里有 10 篇文档,用户问:

人工智能如何在金融领域的风险管理中发挥作用?

真正相关的文档有 2 篇:

document_6:AI 金融风险管理 document_7:AI 就业和数据分析

现在 RAG 系统检索出了 4 篇:

document_6 相关 document_1 不相关 document_3 不相关 document_7 相关

TP / FP / FN 是什么

名称含义在 RAG 检索里是什么意思
TPTrue Positive检索到了相关文档
FPFalse Positive检索到了不相关文档
FNFalse Negative相关文档存在,但没有被检索到
TP = 2 FP = 2 FN = 0

因为两个相关文档都被找到了,没有漏掉。

Precision 精准率

检索出来的文档里,有多少是真的相关?

Precision = TP / (TP + FP)

Precision = 2 / (2 + 2) = 0.5

系统检索出来的 4 篇文档,只有一半是相关的。在 RAG 里,Precision 低会导致什么问题? 无关

上下文太多 -> prompt 被污染 -> 大模型更容易答偏或幻觉。

Recall 召回率

所有应该被找到的相关文档里,系统找到了多少?

Recall = TP / (TP + FN)

TP = 2
FN = 0
Recall = 2 / (2 + 0) = 1.0

所有相关文档都找到了。

Precision 看“找来的准不准” Recall 看“该找的全不全”

F1-Score

Precision 和 Recall 有时候会互相拉扯。

比如:

只检索 1 篇最相关文档: Precision 可能很高 Recall 可能较低

再比如:

检索 20 篇文档: Recall 可能很高 Precision 可能较低

所以我们需要一个综合指标:

F1 = 2 * Precision * Recall / (Precision + Recall)

Precision = 0.5
Recall = 1.0

F1 = 2 * 0.5 * 1.0 / (0.5 + 1.0)
F1 = 1 / 1.5
F1 = 0.6667

传统指标RAG 中的理解
Precision检索出来的上下文有多少是有用的
Recall标准答案所需的信息有没有被检索出来
F1检索质量的综合表现


Ragas 自动化评估

Ragas 是什么

Ragas 是一个专门用来评估 RAG 系统的工具。 它的目标不是单纯判断:答案对不对。而是判

断:

检索结果好不好 答案有没有依据 答案是否回答了问题 答案和参考答案是否接近

也就是说,Ragas 会同时评估 RAG 的两个部分: 检索质量 + 生成质量

Ragas 需要什么数据
{ "user_input": query, "retrieved_contexts": relevant_docs, "response": response, "reference": reference }
字段含义
user_input用户问题
retrieved_contextsRAG 系统检索出来的上下文
responseRAG 系统生成的答案
reference人工准备的标准答案 / 参考答案

比如这个问题:什么情况导致了极端天气事件?

对应的数据可以理解为:

{ "user_input": "什么情况导致了极端天气事件?", "retrieved_contexts": [ "天气文档内容...", "NBA文档内容...", "金融文档内容...", "就业文档内容..." ], "response": "温室气体排放增加导致全球变暖,从而引发极端天气。", "reference": "随着温室气体的排放增加,全球气温逐渐升高,导致极端天气事件频发。" }

Ragas 就是拿这些字段来计算不同指标。

Ragas 的五个核心指标
metrics=[ faithfulness, answer_relevancy, context_recall, context_precision, answer_similarity ]
faithfulness:忠实性

生成答案中的内容,能不能被检索到的上下文支持?

它关注的是:答案有没有胡编。比如上下文里只有:温室气体排放增加导致全球气温升高,进而导

致极端天气频发。 模型回答:温室气体排放增加导致全球变暖,引发极端天气。 这就是忠实的。

但如果模型回答:极端天气主要由地震活动引起。上下文没有这个信息,那 faithfulness 就会低。

它评估的是:答案 vs 检索上下文。。

answer_relevancy:答案相关性

answer_relevancy 问的是:生成答案有没有回答用户的问题? 它关注的是:答案是否切题。比如

用户问:AI 如何用于金融风险管理?回答:AI 可以分析信用数据、交易记录和市场行情,评估信

用风险并监测市场波动。这就是相关。但如果回答:AI 可以用于汽车制造中的焊接和装配。这就

不相关。它评估的是:问题 vs 生成答案。

context_precision:上下文精准率

检索出来的上下文里,相关内容排得是否靠前?

它关注的是:检索结果准不准

比如用户问极端天气,检索结果是:

1. 天气文档:相关 2. NBA文档:不相关 3. 金融文档:不相关 4. 就业文档:不相关

相关文档排得比较靠后,得分会更差。所以 Ragas 的 context_precision 不只是看有多少相关文

档,还看:相关文档的排名位置。它评估的是:问题 + 生成答案/reference vs 检索上下文

context_recall:上下文召回率

参考答案中的信息,是否能从检索上下文中找到?

比如标准答案是:

人工智能可以在金融风险管理中: 1. 评估客户信用风险 2. 监测市场波动

如果检索上下文只包含:AI 可以评估客户信用风险。但没有“监测市场波动”,那 context_recall 就

不会满分。

它评估的是:

参考答案 reference vs 检索上下文

answer_similarity:答案相似度

生成答案和参考答案在语义上像不像?比如参考答案:温室气体排放增加导致全球气温升高,进而

引发极端天气。生成答案:由于温室气体增多,全球变暖加剧,因此暴雨、干旱、台风等极端天气

更频繁。虽然文字不同,但语义很接近,所以分数高。

它评估的是:生成答案 response vs 参考答案 reference

指标评估对象关心的问题
faithfulness答案 vs 上下文有没有胡编
answer_relevancy答案 vs 问题有没有答题
context_precision检索上下文找来的准不准,排序好不好
context_recall上下文 vs 参考答案该有的信息有没有找全
answer_similarity答案 vs 参考答案和标准答案像不像


TruLens 评估与可观测性

它和 Ragas 的定位不太一样:

工具更像什么主要作用
Ragas评分器对一批测试数据计算指标分数
TruLens观察/监控工具记录 RAG 链路,查看每次调用的检索、回答和反馈分数

也就是说:Ragas 更适合批量评估

TruLens 更适合观察单次或多次 RAG 调用过程

TruLens 是什么

TruLens 是一个用于评估和监控 LLM 应用的工具。

放到 RAG 里,它主要做三件事:

记录每次 RAG 调用 提取检索上下文和模型回答 对上下文、问题、回答之间的关系打分

比如用户问:

什么情况导致了极端天气事件?

RAG 系统会经历:

RAG 系统会经历:

TruLens 可以把这个过程记录下来,然后告诉我们:

检索到的上下文和问题相关吗? 答案和问题相关吗? 答案有没有被上下文支持?
对比项RagasTruLens
主要定位批量评估框架应用监控与评估
输入方式准备评估数据集包装已有 RAG chain
典型使用离线评估测试集观察实际调用链路
关注点指标得分调用记录、反馈函数、dashboard
是否需要 reference部分指标需要不一定需要
使用体验一次性 evaluate每次调用都可记录
TruLens 的三个核心指标
Context Relevance:上下文相关性

检索出来的上下文和用户问题相关吗?比如问题:什么情况导致了极端天气事件?检索上下文是天

气文档:随着温室气体排放增加,全球气温逐渐升高,导致极端天气事件频发。这就是相关。它评

估的是:问题 vs 检索上下文。

Groundedness:依据性

生成答案是否有上下文依据?比如上下文说:温室气体排放增加导致全球气温升高。回答说:极端

天气频发是因为温室气体排放增加导致全球变暖。这个回答就有依据。它评估的是:上下文 vs 生

成答案。

Answer Relevance:答案相关性

生成答案是否回答了用户问题?比如用户问:AI 如何用于金融风险管理?回答:AI 可以分析信用

数据和交易记录,评估客户信用风险,并监测市场波动。就是相关。它评估的是:问题 vs 生成答

案。

http://www.zskr.cn/news/1463992.html

相关文章:

  • ai辅助测试开发:让快马平台智能生成用户密码修改功能测试用例与代码
  • 客户拜访回来攒了7段对接短视频要转文字,这款短视频文字提取选手胜出适配2026提效需求
  • 告别重装!用Win32DiskImager给树莓派做“系统快照”,实现多设备一键部署
  • 中小企业数字基建怎么选?兜客互动的一站式服务为何值得优先考虑
  • 医用包装选型:确保无菌环境下的阻菌性关键要点
  • 别再乱用基准面了!中望3D 2022复杂零件建模的基准创建与规划指南
  • 一个蹩脚机器人的重生:从10欧元玩具到让孩子疯狂的AI伙伴
  • TI XDS100V3仿真器‘失忆’了?别慌,用FTProg和这个XML文件5分钟救活它
  • 从房价预测到广告点击:吴恩达《神经网络与深度学习》第一周,我搞懂了监督学习的6个实战场景
  • 【绝密内参】央企智能档案平台上线前必做的9项AI兼容性审计(附ISO/IEC 27001+DA/T 70双标检测表)
  • 用Python处理FY4A雷电数据(LMI)的保姆级教程:从netCDF文件到可视化闪电地图
  • 告别低效循环:深度解读NumPy广播与向量化如何加速你的深度学习代码
  • 从仿真到实测:HFSS威尔金森功分器设计如何与矢量网络分析仪(VNA)测试结果对标?
  • 动力锂电池的建模、状态估计及管理策略优化【附仿真】
  • 模板小程序制作公司哪家质量高?模板多不等于质量高,关键看这四层
  • 3步轻松配置OBS本地AI语音识别字幕:LocalVocal免费隐私方案
  • 【2024智能运维生死线】:AI工具未与变更系统深度耦合=持续交付裸奔(含CI/CD流水线改造checklist)
  • 保姆级教程:从零到一,用Prometheus+Grafana监控你的Linux服务器、MySQL和Redis
  • AI驱动简历优化实战手册(附GPT-4+ATS双校验工作流)
  • MoveIt与Gazebo联调避坑指南:详解`follow_joint_trajectory` Action连接失败的全流程排查
  • 2026年当下,剖析北京化妆师培训市场:谁才是靠谱之选? - 2026年企业资讯
  • AI - MCP(Model Context Protocol,模型上下文协议)
  • Matlab图像修复三法实操:插值/OMP/K-SVD一键对比与结果图自动生成
  • 查看mysql数据库容量大小方法
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 43 章 触摸屏实验
  • 2026年潍坊市可靠的智能装车机实力厂家业内推荐与选购解析 - 2026年企业资讯
  • MIT 6.1810: xv6 book Chapter5: Page faults 笔记
  • 别再用API硬连AI工具了!信贷中台智能编排引擎(IPA)上线72小时内完成OCR/NLP/评分卡全链路自治闭环
  • 2026 年跨境行业全新变局,亚马逊、tiktok、Shopee、速卖通迎来合规整改。 - Zhou6
  • 告别PHP 5!CentOS 7下用Remi仓库一键升级PHP 8.2(附Apache/Nginx重启命令)