RAG 简单介绍

在这里插入图片描述

LLM vs RAG

LLM问题:

  1. 会产生误导性的幻觉;
  2. 不能处理最新的信息;
  3. 对专业领域的知识处理

正是因为这样的问题,检索增强生成技术(Retrieval-Augmented Generation,RAG)出现了。RAG针对用户提出的问题通过从知识库中检索出相关信息,作为LLM的输入,来引导LLM根据检索到的信息来回答问题,主要解决了LLM的以下几个问题:

  1. 根据检索到的信息回答,有效缓解了幻觉问题;
  2. 知识可以随时更新到知识库,从而可以处理最新的信息;
  3. 从检索的信息回复,增强了回复结果的可追溯性;
  4. 使得LLM在实际应用中更加实用和可信。

RAG 和检索微调对比,当然 RAG 和 微调结合起来使用可能会产生最佳性能。
在这里插入图片描述

RAG流程

RAG最基础的流程如下:

  1. 索引:首先根据现有的文件(pdf、word、图片、网页等等)构建知识库;
  2. 检索:然后根据输入的问题从现有的知识库中检索出相关信息;
  3. 生成:最后LLM根据检索到的信息回复输入的问题。

在这里插入图片描述

以上的流程被称为 Naive RAG,其中每个部分都会存在多个挑战,都存在不同的优化方法。所以提出了 Advanced RAG,可以在数据索引、检索前、检索后做一些优化,让检索结果更可靠,从而让回复结果更可靠。通常在每个阶段都存在优化方法:

  1. 索引部分:
    • 不同的文档类型,比如pdf、word、图片、网页等,怎么更好的解析;、
    • 文档的分块大小怎么选择,多大比较合适;
    • 索引的构建:普通索引、树形索引、摘要索引。
  2. 检索前:
    • 查询路由:根据不同的查询选择合适的检索工具;
    • 查询重写:对问题进行重写,可以针对知识库进行更好的检索(HyDE);
    • 查询扩展:问题过于简单不利于检索;
    • 查询分解:将复杂的问题分解为多个子问题,分别进行处理,可以使用智能体处理;
  3. 检索中:
    • 不同的检索方式有不同的好处,一般使用多种检索方式进行混合检索,以提升召回率:向量检索、关键词检索、摘要检索
  4. 检索后:
    • 重排序:一般选择topk结果输入到大模型中,重排序可以让更相关的排在最前边,提升大模型回复的可靠性;
    • 混合检索结果融合:多种检索结果的融合到一起,用于后续的回复;
    • 上下文信息的处理:如果把检索到的文本块进行组合有利于后续的回复。
  5. LLM回复:
    • Prompt 优化:优化prompt可以让大模型减少幻觉,回复结果更可靠;
    • 回复方式:输入给大模型的上下文过长之后使用什么策略让大模型来回复。

随着 RAG 技术的进一步发展和演变,提出模块化 RAG 的概念。在结构上它更加自由的和灵活,引入了更多的具体功能模块,例如查询搜索引擎、融合多个回答。技术上将检索与微调、强化学习等技术融合。流程上也对 RAG 模块之间进行设计和编排,出现了多种的 RAG 模式。然而,模块化 RAG 并不是突然出现的,三个范式之间是继承与发展的关系。Advanced RAG 是 Modular RAG 的一种特例形式,而 Naive RAG 则是 Advanced RAG 的一种特例。
在这里插入图片描述

参考文档

RAG介绍

RAG问题解决

其他

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CharlesWu123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值