22.RAG进阶(Advanced RAG)-成熟的高级RAG实现

22.RAG进阶(Advanced RAG)-成熟的高级RAG实现 内容参考于图灵AI大模型全栈有以下六种高级RAG的实现思路和论文支撑方法核心优化方向关键技术亮点T-RAG任务/时间敏感检索分阶段检索、时效性优先CRAG检索质量动态修正置信度评估 重检索/人工干预Self-RAG生成过程自我反思LLM自我评估输出质量并触发检索GraphRAG知识图谱增强检索基于图结构的上下文推理RAG-Fusion多查询扩展检索生成多个相关查询合并结果Rewrite-Retrieve-Read查询重写优化先重写问题再检索提升检索适配性T-RAG论文地址https://arxiv.org/pdf/2402.07483TRAG的知识库如下是一个树状的公司总部 ├─ 北京分公司 │ ├─ 研发部 │ │ └─ 后端组负责人李四 │ └─ 市场部 └─ 济南分公司 ├─ 产品部 │ └─ 张三产品经理负责A项目 └─ 销售部现在问济南分公司张三负责什么它会先找济南分公司树干然后找产品部树枝然后找到张三叶子也就是下图红框的这一部分它用来生成答案的模型是经过知识库微调过的这样的大模型会比较聪明CRAG论文地址https://arxiv.org/pdf/2401.15884CRAG增加了评估机制如下图红框三种评估机制Correct表示通过知识库找到的文档是靠谱的进行提纯过滤不靠谱的信息然后给大模型Ambiguous表示信息不全它会先提炼出有用的信息然后再去网上找资料Incorrect表示信息全是垃圾它直接放弃这些垃圾数据然后去网上找资料self-RAG左边是普通RAG右边是selfRAG论文地址https://arxiv.org/pdf/2310.11511参考 Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflection第一步它会先自我判断比如济南房价是实时数据现有的资料只有25年以前的信息需要查最新资料这时会触发Retrieve搜索功能如果问的是11等级几它就会判断出No Retrieve直接回答不需要查资料第二步自我判断完如果出现了Retrieve它会进行检索通过RAG知识库和互联网搜索最新的房价信息第三步自我评估第二步得到的信息然后评估这些信息是否跟问题有关或是否有效也就是过滤不相关的信息它会出现IsREL:Yes和IsREL:No也就是资料靠谱和不靠谱第四步拿着第三步的提示词去问大模型然后大模型回答了答案后它会检测答案是否存在问题如果存在问题就重新检索然后完善回答的内容第五步最终验证一遍第四步的信息然后生成最终答案这个self-RAG和CRAG差不多self-RAG在CRAG基础上添加了自我验证的和纠错的功能上方的自我纠错和检验都是通过大模型实现的RAG-FusionRAG融合之前CRAG和selfRAG都需要用多个模型成本是比较大的RAG-Fusion不需要其它模型可以通过单个模型来实现项目地址https://github.com/Raudaschl/rag-fusion参考https://mp.weixin.qq.com/s/hxukMEeMzTEOVqd1P1fQLQ用一个具体例子说明你问 AI “2026 年济南xx区适合带孩子玩的地方” 1️⃣ 第一步自动 “换说法”—— 生成多个查询角度 AI 不会只搜 “xx区带孩子玩”而是自动生成 3-5 个相关问题像人类从不同角度思考 xx区儿童乐园推荐 济南xx区亲子活动场所 2026 年xx区适合小朋友的景点 xx区室内亲子游玩地点适合下雨天 这一步叫查询扩展解决了 “用户问法不全面” 的问题。2️⃣ 第二步并行 “搜资料”—— 每个查询独立搜索 AI 用这 5 个问题分别去知识库 / 互联网搜索得到 5 份不同的结果列表 列表 1xx区 3 个儿童乐园 列表 2xx区 5 个亲子活动中心 列表 3xx区 2 个适合小朋友的博物馆 列表 4xx区 4 个室内游乐场3️⃣ 第三步智能 “合并排序”——RRF 算法倒数排名融合 这是 RAG-Fusion 的核心AI 用一个聪明的算法把 5 份结果合并成 1 份超级靠谱的列表 规则在多个列表中都出现的地点排名会大幅提升说明大家都认可 举例 某室内游乐场在 3 个列表中都排前 5→最终排名第一 某博物馆只在 1 个列表中出现→排名靠后 计算公式分数 1/(k 排名)k 通常取 60)所有查询结果分数相加 这个过程像老师批改 5 份试卷综合所有老师的打分给出最终成绩。Reciprocal Rank Fusion倒数排名融合Re ranked results重新排序后的结果4️⃣ 第四步生成 “全面回答”—— 基于融合结果创作 AI 用合并后的完整资料生成既全面又有条理的回答还会标注哪些地点是多个来源都推荐的。Rewrite-Retrieve-Read RAG简称RRR-RAG就是我们在提问的时候写的问题很模糊RRR-RAG就会先把我们的问题进行处理重写问题让问题更加标准然后再去搜索资料然后再生成答案如上图左边三个input最左边的是最原始的问题第二个是处理过的原始问题然后去问大模型然后第三个里有一个Small PrLM这个是可以自己训练专门做重写的小模型重写模型第二个input中的Black-Box LLM就是一个大模型别人训练好的大模型Graph RAGz打手 / c(背后老大) x(接头人) \ / 嫌疑犯 / \ (同伙) (资金往来) a b | (亲属) dGraph RAG就是把知识库做成上方的样子形成一个带关系的图谱可以通过x找到z然后通过x可以找到嫌疑犯通过嫌疑犯可以找到a同伙这样的一个思路