-
评估不是为了考试,而是为了“找茬” —— 找到RAG系统里哪个环节拖了后腿。
-
评估分两段:先看“找资料”对不对,再看“写答案”好不好。
-
评估结果告诉你该优化哪里,优化后再测一遍,看进步了多少。
下面我用最通俗的方式拆开讲。
1. RAG 为什么会犯错?三个环节都可能掉链子
RAG = 检索(Retrieval) + 生成(Generation)。
你可以想象成:“查资料” 和 “写答案” 两个步骤。
-
查资料(检索):从知识库里找相关的文档片段。
如果没找到对的资料,或者找了一堆无关的,后面的大模型再聪明也写不对(“垃圾进,垃圾出”)。 -
写答案(生成):大模型根据找来的资料组织回答。
如果资料找对了,但大模型自己瞎编(不照着资料说),或者答非所问,也会出错。 -
端到端:不管中间怎么折腾,最终答案用户觉得好不好。
评估的目标:量化每个环节的“健康度”,然后精准下药。
2. 评估什么?——两类指标,各管一摊
① 检索质量(查资料的本事)
衡量“找回来的文档是不是对的、全不全”。
常用两个傻瓜式指标:
-
Hit Rate(命中率):在所有测试问题中,有多少比例的问题,检索结果里至少包含一个正确文档。
比如问10个问题,有8个问题能搜到正确答案,命中率就是80%。 -
MRR(平均倒数排名):看第一个正确答案在搜索结果里排第几。
排第1名得1分,排第2名得0.5分,排第3名得0.33分……把所有问题的得分平均。
这个指标惩罚“正确答案排太靠后”。
诊断作用:如果这两个分低,说明检索环节有问题(分块不合理、Embedding不好、没加重排等),优化方向就在检索侧。
② 生成质量(写答案的本事)
衡量“大模型给出的答案好不好”。常用三个维度:
-
忠实度(Faithfulness):答案里的每一句话,都能在检索到的文档里找到依据吗?
如果答案自己添油加醋,就算内容对,忠实度也扣分。(这是防止“幻觉”的关键) -
相关性(Relevancy):答案有没有答到点子上?是不是切题?
比如问“上下班时间”,答了一堆公司福利,相关性就很低。 -
正确性(Correctness):拿答案和人工标注的标准答案比对,像考试判卷,给1~5分。
这个最准,但需要人工准备参考答案,成本高。
诊断作用:如果检索指标很好(找到了正确文档),但生成指标差,说明问题在生成环节(提示词不好、上下文太长被压缩、模型能力不足等)。
3. 怎么评估?——不用自己写打分程序,有现成工具
现在主流框架(如 LlamaIndex、RAGAS)都内置了评估器,你只需要:
-
准备好“问题集”(可以带参考答案,也可以不带)。
-
让评估器自动用大模型当评委(比如通义千问、GPT),对每个问题的回答打分。
-
跑完一批问题,自动汇总出通过率、平均分。
对小白来说,你只需要知道:代码几行就能跑出评估报告,不用自己设计打分逻辑。
4. 优化闭环:测→改→再测
评估最大的价值不是“知道分数”,而是指导优化。
典型的做法:
-
先跑一次基础RAG的评估,拿到检索和生成的分数。
-
如果检索分低 → 优化分块大小、换Embedding模型、加重排器。
如果生成分低 → 优化提示词、压缩上下文、换更强的大模型。 -
改完后用同一套问题再测一次,看分数涨了多少。
这就是“量化优化效果”,老板问“你优化了啥?效果呢?”——你就能拿出前后对比数据。
5. 给小白的一个比喻
RAG 像一个“开卷考试”的学生:
检索 = 翻书找答案的速度和准确性。
生成 = 把找到的内容用自己的话写出来,且不能抄错。
评估 = 老师分别给“翻书”和“答题”打分。
如果翻书没翻到,那就是复习范围没划对;
如果翻到了但答错了,那就是表达能力不行。
你根据分数调整复习方法,再考一次看进步。
1万+

被折叠的 条评论
为什么被折叠?



