AI 文摘

AI技术中的RAG究竟是什么,一文给你说透





作者: 木木说AI 来源: 木木说AI

什么是RAG?

RAG 是检索增强生成(Retrieval Augmented Generation)的简称,是当前最火热的企业级LLM应用方案。

RAG能解决什么问题?

知识的局限性 :模型自身的知识完全源于它的训练数据,而现有的主流大模型(ChatGPT、文心一言、通义千问…)的训练集基本都是抓取网络公开的数据用于训练,对于一些实时性的、非公开的或离线的数据是无法获取到的,这部分知识也就无从具备。

幻觉问题 :大模型的底层原理是基于数学概率的文字预测,即文字接龙。因此大模型存在幻觉问题,会在没有答案的情况下提供虚假信息,提供过时或通用的信息,从可信度低非权威来源的资料中提供结果等。

数据安全性 :对于个人来说,隐私很重要,对于企业来说,数据安全更是至关重要,没有企业愿意承担将自身的私域数据上传第三方平台进行训练而导致泄露的风险。因此如何大模型落地应用时,如何保障企业内部数据安全是一个重要问题。

RAG的实现流程

嵌入阶段:

1 为知识库创建索引

从知识库中加载内容,并将其分割成适合嵌入搜索的片段。这个步骤包括了将知识库的内容转换为单个文档,并进一步划分为更小的信息块。

2 使用嵌入来转换知识片段

分割后的知识片段通过嵌入机(embedding machine)转换成数字向量,这些嵌入向量代表了文本的语义内容。

3 储存嵌入向量到向量数据库

将这些嵌入向量与其对应的文本片段一起保存在一个专用的向量数据库中,为之后的检索步骤做准备

检索&生成阶段:

1 根据用户问题获取相关信息

在用户提出问题时,将这个问题也转换成嵌入向量,并在向量数据库中查找最接近的、与问题最相关的知识片段。

2 整合检索到的信息

将检索到的相关知识片段整合在一起,准备用于下一步的生成过程。

3 为LLM提供特定的知识来源

以特定的格式向大型语言模型(LLM)提供这些整合后的知识片段,作为生成回答的基础。

4 使用system prompt为LLM提供自定义指令

通过system prompt向LLM提供指令,指导其如何利用提供的知识片段来生成回答。

5 LLM生成回答

LLM利用提供的知识片段和指令生成针对用户问题的回答。

6 输出答案

最后,系统输出LLM生成的、基于检索增强的答案。

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具