RAG-AS
为什么要有RAG评测?
随着Spring AI、Langchain、Dify、Agentscope Java等AI框架或者Workflow平台的发展,我们越来越多人投入到了Agent应用开发中,大家可以凭借着AI框架轻松的搭建起一套 文档->向量库->相关chunk检索-> AI回答用户问题 的标准RAG流程
上一篇我们讲解了因为需要给AI补齐知识边界(AI的预料知识是过期的,有Cutoff截止日期)

其次还有:
打破“能用”的幻觉,发现潜在缺陷。在 Demo 阶段,问几个简单问题,模型往往能给出看似不错的答案,让人误以为系统已经“可用”。但一旦进入真实业务场景(如企业知识库、客服问答),问题就会暴露无遗:
明明有答案却没找出来(检索漏召回)。
找到了答案却还在胡编乱造(生成层幻觉)。
回答本身没错,但速度太慢或成本太高(工程性能差)。评测能帮你撕开“能回答”的表象,看到系统在严肃场景下的真实表现。精准定位瓶颈,实现科学优化。RAG 是一个包含“检索”和“生成”的链路系统,错误在流水线中是“乘法关系”而非“加法关系”(例如检索准确率 80% × 生成准确率 80% = 端到端准确率仅 64%)。如果不做评测,你只知道系统“答错了”,却不知道错在哪。通过评测,可以将问题拆解并定位到具体环节,从而对症下药:
检索层失败:如果评测发现是检索没召回关键证据,或者排序把正确答案压得太靠后,你需要优化的是向量数据库、切分策略或重排序模型。
生成层失败:如果检索到了正确文档,但模型依然无视上下文自己瞎编,你需要调整的是提示词约束、降低模型温度或优化引用机制。建立质量闭环,防止版本倒退。成熟的 RAG 开发需要像软件工程一样严谨。评测体系(特别是离线回归测试集)能帮助你建立质量闭环:
版本对比:当你更换了嵌入模型或调整了参数,评测能告诉你系统整体是变好了还是变差了。
回归测试:确保新的迭代没有把之前已经修复的问题重新引入,防止系统“按下葫芦浮起瓢”规避关键行业的致命风险。在客服闲聊等场景,答错可能只是体验不佳;但在医疗、金融、法律等关键行业,RAG 系统的错误可能带来严重后果:
医疗:遗漏关键病症信息或编造药物剂量可能导致误诊。
金融/法律:引用了过期的旧政策或虚构法律条款,可能引发严重的合规风险与法律纠纷。科学的评估体系是保障这些高风险场景下系统可靠性的“生命线”。平衡质量、成本与用户体验。一个准确但响应极慢、或者单次查询成本极高的系统,在生产环境中是无法落地的。评测不仅关注答案的准确性(如忠实度、相关性),还要关注端到端的工程指标(如 P95 延迟、吞吐量、每千次查询成本),确保系统在保证质量的前提下,具备商业上的可持续性。
怎么做RAG评测?
回顾我们RAG流程:
构建RAG系统涉及四个核心流程:
- 数据收集与处理:将企业内部文档解析并进行智能切块处理。
- 向量转换与存储:使用Embedding模型将文本块转换为向量,并存储至向量数据库中。
- 向量检索与召回:将用户的提问转为向量,并从数据库中检索出最相似的数据块。
- 回答增强与生成:将检索到的数据块内容作为上下文,连同用户问题一起输入LLM,生成最终回答。
我们需要关注五大核心指标:
在我们检索召回阶段
1.精确率(context precision):衡量检索结果的“查准率”。即在系统检索回来的所有文档块中,真正与问题相关的比例是多少。
2.召回率 (context recall):衡量检索结果的“查全率”。即在所有与问题相关的文档中,系统成功检索出了多少比例。生成阶段:
3.答案相关性(answer relevance):衡量最终生成的答案是否直接、准确地回答了用户的原始问题。
4.忠诚度(faithfulness):衡量生成的答案是否严格基于检索到的上下文,是否出现了“幻觉”(即编造了上下文中不存在或与上下文矛盾的信息)。
5.答案正确性(answer correctness):这是衡量最终答案质量的“金标准”,它综合了“事实准确度”和“语义相似度”两个维度。它需要引入人工标注的标准答案(Ground Truth)作为参照,不仅要求生成的答案在语义表达上与标准答案相近(像不像),更要求核心事实(如数据、人名、结论)必须完全一致(对不对)。在主流的评估框架中,事实准确度的权重通常更高,以避免AI用“正确的废话”掩盖事实错误
评测指标怎么收集?
RAG系统持续优化
持续优化看各指标依赖的数据和模型:
| 指标 | 问题 | AI回答 | 参考材料 | 标准答案 | LLM | Embedding |
|---|---|---|---|---|---|---|
| Context Precision(上下文准确率) | ✅ | ✅ | ✅ | ✅ | ||
| Context Recall(上下文召回率) | ✅ | ✅ | ✅ | ✅ | ||
| Answer Relevancy(答案相关性) | ✅ | ✅ | ✅ | ✅ | ||
| Faithfulness(忠诚度) | ✅ | ✅ | ✅ | ✅ | ||
| Answer Correctness(答案准确性) | ✅ | ✅ | ✅ | ✅ | ✅ |
