【AI 系列】RAG 检索增强生成的流程

RAG 检索增强生成的流程

RAG 其全称是 Retrieval Augmented Generation,可以被翻译成 检索增强生成技术,从标题上也能了解其核心的流程 检索 => 增强 => 生成。

LLM 的局限

在介绍 RAG 之前,我们先来了解一下 LLM 的局限性。

首先是幻觉问题(hallucination),LLM 底层还不具备真正的逻辑推理能力,是根据大量的数据进行概率性预测,所以在某些情况下,LLM 会生成一些不合理的答案。

其次是对领域知识的欠缺,造成这个问题主要是俩个原因,第一个是对知识的更新慢,另一个是对专业领域的知识训练样本不足导致。

RAG 的优势

当我们了解了 LLM 的局限性后,RAG 会尽可能提供与答案相关的上下文,来增强它正确输出的可能性。

RAG 的优势主要体现在以下几个方面:

  1. 用户输入提问
  2. 检索:根据用户提问对 向量数据库 进行相似性检测,查找与回答用户问题最相关的内容
  3. 增强:根据检索的结果,生成 prompt。 一般都会涉及 "仅依赖下述信息源来回答问题" 这种限制 LLM 参考信息源的语句,来减少幻想,让回答更加聚焦
  4. 生成:将增强后的 prompt 传递给 LLM,返回数据给用户

所以 RAG 就是哪里有问题解决哪里,既然大模型无法获得最新和内部的数据集,那我们就使用外挂的向量数据库为 LLM 提供最新和内部的数据库。既然大模型有幻想问题,我们就将回答问题所需要的信息和知识编码到上下文中,强制大模型只参考这些内容进行回答。

注意:LLM 是逻辑推理引擎,而不是信息引擎。所以,由外挂的向量数据库提供最有效的知识,然后由 LLM 根据知识进行推理,提供有价值的回复。

RAG 流程

后续章节,在下将针对 RAG 的各个流程做详细的介绍。

相关推荐
兆子龙26 分钟前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构
SuperEugene32 分钟前
表单最佳实践:从 v-model 到自定义表单组件(含校验)
前端·javascript·vue.js
昨晚我输给了一辆AE8632 分钟前
为什么现在不推荐使用 React.FC 了?
前端·react.js·typescript
不会敲代码133 分钟前
深入浅出 React 闭包陷阱:从现象到原理
前端·react.js
不会敲代码135 分钟前
React性能优化:深入理解useMemo和useCallback
前端·javascript·react.js
Dilettante25836 分钟前
我的 Monorepo 实践经验:从基础概念到最佳实践
前端·前端工程化
只会cv的前端攻城狮1 小时前
Elpis-Core — 融合 Koa 洋葱圈模型实现服务端引擎
前端·后端
Java小卷2 小时前
流程设计器为啥选择diagram-js
前端·低代码·工作流引擎
狼爷2 小时前
AI时代顶级思维:你的提问方式,早已暴露你的认知层级
aigc·openai
HelloReader2 小时前
Isolation Pattern(隔离模式)在前端与 Core 之间加一道“加密网关”,拦截与校验所有 IPC
前端