游乐游手机版
首页/AI热点日报/热点详情

RAG 应用开发全流程从零到一实战教程

类型:热点整理2026-06-13
通过Rerank(重排序)和生成环节的优化,可将RAG准确率从65%提升至98%。Rerank常用BGE-Reranker-Large等模型,显著提高MRR;生成环节优化涉及提示词、查询扩展等。RAGAS评估框架衡量忠实度、相关性等指标,结合数据驱动方法自动调优分块、嵌入、重排序、提示词和语言模型的组合。

RAG 组合拳的下半部分来了。上一篇我们聊到,借助 OpenAI 的 RAG 实践案例,企业知识库问答的准确率可以从 45% 拉升到 65%。这一篇我们重点看看,如何在 Rerank(重排序)和生成这两个环节上做文章,把准确率从 65% 再往上推,目标是 98%。具体来说,就是下面图中橙色方块标出的那两块。

这篇会涉及这几个方面:

Rerank 环节中常用的模型、效果评估和可参考的代码;生成环节的优化思路;RAG 的整体评估框架 RAGAS;以及怎么用数据驱动的方法持续迭代 RAG 应用——这部分目前相关的讨论还不多,我们也来探讨一下初步的思路。

和上篇一样,我们会把 RAG 的各个步骤像串珠子一样串起来,每个环节的细节会附上一些优秀的参考文章和案例。这些资料会持续更新,相关内容都已经整理在飞书文档里了(链接在文末),方便大家收藏查阅。

RAG 流程中的 Rerank 环节

什么是 Rerank

先看一张图,直观感受一下 Rerank 的效果。这是 Cohere 官网的效果对比图,左侧是维基百科原生的搜索结果排序,右侧是在这个排序基础上重排后的结果。可以看到,经过重排,顺序发生了很大变化,比如原来排在第六的文档跑到了第一位。

简单来说,Rerank 就是把检索环节得到的 Top X(X 通常比较大,比如 50 或 100)结果重新排序,有点像初赛过了之后的复赛。那么,为什么我们要这么在意排名,特别是 Top 3 的精准度?

想象一下日常用 Google 搜索的场景:你可能会扫一眼第一页的 20 条结果,然后挑 5 个点开仔细看。对 Google 来说,给出 Top 20 就够了,并不需要精确排序这 20 条结果。更重要的是,从速度上看,粗搜 20 条比精搜 5 条快得多——这就好比简历筛选中的初筛和复试。

但在 RAG 的最后一个环节,我们需要把参考资料作为上下文喂给大模型来生成回答。如果一股脑儿把 Top 20 的资料全塞进去,会带来两个问题:一是 Token 消耗量大,二是内容太多会让大模型“失忆”。所以,我们得尽可能地把最准确、最精炼的信息给到大模型,追求 Top 3 的精准度,这才是 RAG 成功的关键。

如何做 Rerank

目前市面上有一些现成的 Rerank 模型,我接触到的有:

  • bge-reranker-base
  • bge-reranker-large
  • CohereRerank

有博主用一篇约 36 页的 paper 作为测试数据,对这三个模型做了评测,结果如下:

表格左边是使用的 Embedding 模型,右边是对应的在不使用 Rerank 和使用不同 Rerank 模型下的 HitRate 和 MRR 表现。这两个指标的定义是:

  • HitRate(命中率):期望结果出现在 Top N 中的概率。
  • MRR(平均倒数排名):衡量期望结果在实际排序中是否靠前。比如一次查询中,你期望的结果排在第一,MRR 就是 1 的倒数;排在第二,MRR 就是 1/2。把所有查询的倒数排名平均一下,就是 MRR。

显然,如果目标是精准找到 Top 3 甚至 Top 1,MRR 对 Rerank 效果的评估更有意义。

把上面的数据可视化之后可以发现,Rerank 对 HitRate 的提升不算大(从 80% 到 85%),但 MRR 的提升很明显,从 65% 左右(灰色柱)提升到了 85% 甚至 90% 以上(橘色、黄色、绿色柱分别代表不同模型的效果)。这个结果和 OpenAI 成功案例中的数据基本一致

另外也能看出,这三个 Rerank 模型的表现差别不大。Cohere 的 Rerank 是收费的,对大多数开发者来说,用开源的 BGE-Reranker-Large 就足够了(可以在 Hugging Face 上找到模型文件下载安装)。

不过,这个评测只是基于一篇 paper 的实验。如果大家想用自己的数据做测试,可以参考 LlamaIndex 博客上那篇《评测 Rerank 模型的代码实现》。

Rerank 之后,我们就精准地找到了 Top 3 的相关资料。下一步,就是把这些资料连同用户最初的提问,一起送给大模型来生成最终回答。

RAG 流程中的生成环节

在 RAG 的生成环节提高准确率,和直接问 ChatGPT 时提高准确率的方法大致相同。OpenAI 的案例中提到了几种:

  1. 优化提示词:比如指定角色、规则、步骤(思维链)、少样本提示、后退提示等。这方面的文章很多,不再赘述,可以系统学习 prompt 指南。
  2. Query expansion(查询扩展):比如一个提问里暗含了 3 个子问题,需要把它们拆开分别回答,再把答案合成给用户。
  3. Tool use(工具使用):OpenAI 案例中提到的工具是 Text to SQL,直接通过查数据库来获取答案。这其实已经超出了 RAG 的范畴,更接近 Agent 的思路了。

这一部分和 RAG 本身关联不大,就不展开了。

在大部分文章里,RAG 流程到这里就结束了,目前几乎所有的知识库产品功能也到此为止。但在实践中我们会发现,RAG 的评估应该作为最后一环,用评测结果数据来驱动 RAG 应用的迭代,这才是优化 RAG 的重要方法。从互联网产品过来的同学应该都明白“数据驱动”的价值。

评测 RAG:打造 Data-driven 的 RAG 应用

什么是 RAGAS

RAG 的评估和前文提到的检索评估不太一样,但也有相似之处。目前有几个评估框架,我们以开源的 RAGAS 为例来说明,OpenAI 的案例中也用了这种方式。关于 RAGAS 的一切(从定义到使用)可以参考官方文档,这里只做简单介绍,让大家快速入门。

RAGAS 评估框架需要的输入是:

  • 用户问题(question)
  • 答案(answer)
  • 上下文(contexts)
  • 真实答案(ground truths)

这些输入可以通过 GPT-4 生成,如果有现成的 FAQ 更好。利用这些信息,RAGAS 可以基于大语言模型对 RAG 系统进行打分。

RAGAS 提供了两大类指标:一类评估生成能力,一类评估检索能力。

生成能力指标:

  • 忠实度(faithfulness):衡量回答是否属实,比如“北京是中国的首都”是真实事件。
  • 答案相关性(Answer relevancy):衡量回答是否与问题相关。比如用户问“北京今天天气如何”,回答“北京是中国首都”虽然事实正确,但并不相关。
  • 答案语义相似性(Answer semantic similarity):衡量回答与答案的语义相似度。
  • 答案正确性(Answer Correctness):衡量回答与期待答案的正确性。

检索能力指标:

  • 上下文精度(Context precision):衡量真实答案在检索结果中是否排名靠前,和检索评估中的 MRR 目标一致,但计算方法不同。
  • 上下文召回率(Context recall):衡量真实答案与检索结果的相关性,和检索评估中的召回率指标一致。
  • 上下文相关性(Context relevancy):衡量检索结果与用户提问的相关性。

RAGAS 的指标计算方式在官网有详细介绍,而且指标也在不断进化,建议关注官网学习。有了评估框架,构建数据驱动的 RAG 应用就有了标杆。

理想中的 Data-driven RAG 应用

看到这里,你应该能感受到 RAG 的流程相当长,影响成败的因素自然也很多。一个理想的数据驱动 RAG 流程应该是:针对不同的知识库问答场景,以 RAGAS 为评估框架,自动调优出最佳的分块方法、Embedding 模型、Rerank 模型、Prompt 模板和大语言模型的组合。

比如,我们有 4 种分块方法、2 种 Embedding 模型、2 种 Rerank 模型、3 种 Prompt 模板、3 种大语言模型,那么理论上 RAG 的组合方式就有 4 × 2 × 2 × 3 × 3 = 144 种(当然,实际中各个环节之间有约束,比如某种 Embedding 模型和某种 Rerank 模型的组合是固定的)。对这 144 种方式用同样的测试数据、同一个评估框架,就能找出最优组合。但这种做法的困难在于:

  1. 测试成本高:排列组合多,成本自然高。
  2. 周期长:只靠测试数据还不够,最终还得结合用户的真实反馈(对答案的点赞、点踩)来评估,这需要时间积累。

在当前的成本约束下,这或许算不上最佳实践,但长远来看,参考互联网产品中的 A/B 测试,在 RAG 大规模应用后,这种做法是绕不开的。就像亚马逊很早就开始对网站上的各种体验做 A/B 测试,长期积累下来,构建了良好的用户体验和频繁的交易。

总结

接近万字的长文,总算把 RAG 的各个环节串了一遍。而万字背后的细节,大约有近 5 万字的参考文章,并且这些参考还在不断丰富和更新中。我自己在日常工作中也会经常翻阅。为了方便,我把所有内容总结在飞书文档里,会实时更新(目前包含约 100M 的资料),欢迎收藏查阅。

来源:https://www.53ai.com/news/qianyanjishu/2284.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。