内容参考于:图灵AI大模型全栈
有以下六种高级RAG的实现思路和论文支撑
| 方法 | 核心优化方向 | 关键技术亮点 |
|---|---|---|
| T-RAG | 任务/时间敏感检索 | 分阶段检索、时效性优先 |
| CRAG | 检索质量动态修正 | 置信度评估 + 重检索/人工干预 |
| Self-RAG | 生成过程自我反思 | LLM自我评估输出质量并触发检索 |
| GraphRAG | 知识图谱增强检索 | 基于图结构的上下文推理 |
| RAG-Fusion | 多查询扩展检索 | 生成多个相关查询,合并结果 |
| Rewrite-Retrieve-Read | 查询重写优化 | 先重写问题再检索(提升检索适配性) |
T-RAG
论文地址:https://arxiv.org/pdf/2402.07483
TRAG的知识库,如下是一个树状的
公司总部 ├─ 北京分公司 │ ├─ 研发部 │ │ └─ 后端组(负责人:李四) │ └─ 市场部 └─ 济南分公司 ├─ 产品部 │ └─ 张三(产品经理,负责A项目) └─ 销售部现在问济南分公司张三负责什么?它会先找济南分公司(树干),然后找产品部(树枝),然后找到张三(叶子)也就是下图红框的这一部分
它用来生成答案的模型是经过知识库微调过的,这样的大模型会比较聪明
CRAG
论文地址:https://arxiv.org/pdf/2401.15884
CRAG增加了评估机制,如下图红框三种评估机制
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搜索功能,如果问的是1+1等级几,它就会判断出No Retrieve直接回答不需要查资料
第二步:自我判断完如果出现了Retrieve,它会进行检索通过RAG知识库和互联网搜索最新的房价信息
第三步:自我评估第二步得到的信息,然后评估这些信息是否跟问题有关或是否有效,也就是过滤不相关的信息,它会出现IsREL:Yes和IsREL:No,也就是资料靠谱和不靠谱
第四步:拿着第三步的提示词,去问大模型,然后大模型回答了答案后,它会检测答案是否存在问题,如果存在问题就重新检索然后完善回答的内容
第五步:最终验证一遍第四步的信息,然后生成最终答案
这个self-RAG和CRAG差不多,self-RAG在CRAG基础上添加了自我验证的和纠错的功能,上方的自我纠错和检验都是通过大模型实现的
RAG-Fusion(RAG融合)
之前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 份不同的结果列表: 列表 1:xx区 3 个儿童乐园 列表 2:xx区 5 个亲子活动中心 列表 3:xx区 2 个适合小朋友的博物馆 列表 4:xx区 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 RAG
z(打手) / c(背后老大) x(接头人) \ / 嫌疑犯 / \ (同伙) (资金往来) a b | (亲属) dGraph RAG就是把知识库做成上方的样子,形成一个带关系的图谱,可以通过x找到z,然后通过x可以找到嫌疑犯,通过嫌疑犯可以找到a(同伙)这样的一个思路