了解RAG

RAG(检索增强生成模型)是一种结合检索与生成模型的技术,旨在解决大语言模型在处理大规模文档时的效率问题。文章从三个原因入手:有限的上下文窗口限制了模型处理文本的能力,成本高昂使得无法在每次提问时加载所有数据,以及信息量巨大导致模型难以精准检索相关信息。RAG的核心思路是在回答问题前,通过检索机制从知识库中找到最相关的内容,并将这些内容传递给大模型生成回答。 召回与重排是RAG的关键技术环节。召回阶段将用户提问向量化后与知识库中的片段进行相似度计算,快速找到最接近的相关片段;重排阶段则使用交叉编码器进一步评估用户问题与片段的语义相关性,以提高检索的准确度。RAG的核心流程包括两条链路:在知识库构建阶段进行分片、向量化和存储;在回答生成阶段进行召回、重排和生成,使模型能够基于精选片段提供更准确的回答。
了解RAG

需要RAG的原因:
● 上下文窗口有限:模型一次能处理的文本量是有限的,所有的私人数据根本塞不进去
● 成本高:就算塞得进去,每次提问都要把所有数据发过去,非常消耗Token
● 大海捞针效果差:内容太多,模型不能准确找到真正相关的信息

RAG思路:在AI回答之前,先去知识库里搜一搜,找到最相关的内容,然后把这些内容"喂给"大模型,让它基于真实的文档来生成回答

召回:将用户提问向量化,在向量库中进行相似匹配,查询最相似的若干个片段(快但准度低)
重排:使用重排模型(Cross Encoder-交叉编码器,专门计算文本对相似度的模型),逐个计算用户问题与每个找回片段的语义相关性(慢但准度高)
生成:选出最详细的几个片段 + 用户问题,交给大模型,让大模型根据这几个片段进行回答

召回和重排的区别:
● 召回阶段是把问题和片段分别转成向量,然后算向量之间的距离或者夹角
● 重排阶段是把问题和片段拼在一起输入模型,让模型直接判断"这两段话到底有多相关"

RAG的核心流程:两条链路
● 提问前(数据准备、知识库构建过程):分片 ---> Embedding(向量化) ---> 存储
● 提问后(回答生成、用户提问过程):召回 ----> 重排 ----> 生成

评论

0 条评论

暂无评论,快来抢沙发吧~

图片预览
文章朗读