原创 [完结14章]RAG全栈技术从基础到精通 ,打造高精准AI应用

2025-4-14 09:26 46 1 1 分类: 机器人/ AI

/s/1G4hYSnfHhGjSIMl-pGFSLg 提取码:bm5a


一、RAG是什么?

RAG是一种结合检索(Retrieval)和生成(Generation)的技术,主要用于让AI在回答问题或生成内容时,能够更好地利用外部知识库,而不是完全依赖于自身预训练的知识。简单来说,它就像是给AI配了一个“外挂”,让它在回答问题时可以先去知识库中查找相关的资料,然后再生成答案。

二、RAG的工作原理

RAG的工作可以分为三个阶段:

(1)检索(Retrieval)

用户提出问题后,RAG会先将问题转换成一个“向量”(一种数学表示),然后在知识库中查找最相关的向量。

知识库中的内容会被提前处理成向量,并存储在一个叫 “向量数据库” 的地方。这个数据库可以根据语义理解来检索数据,而不是单纯靠关键词匹配。

比如,你问“如何做巧克力蛋糕”,RAG会在知识库中找到与“巧克力蛋糕制作”最相关的资料片段。

(2)增强(Augmented)

找到相关资料后,RAG会把资料和用户的问题组合在一起,形成一个新的输入,送给大模型。

这就好比你给AI提供了一个“提示”,让它在回答问题时有更具体的参考。

(3)生成(Generation)

最后,AI根据组合后的输入生成答案。因为有知识库的支持,生成的内容会更准确、更有针对性

三、RAG的关键特性与挑战

探讨了检索增强型生成(RAG)模型的核心要素和目标,详细分析了用户意图理解、知识检索、知识整合、答案生成和评估指标等关键环节。这些要素共同构成了RAG系统的框架,并揭示了其在自然语言处理任务中的重要性和面临的挑战。

精准的用户意图理解

准确理解用户意图是生成相关响应的关键,但用户查询的模糊性和多样性增加了理解难度,需借助文本建模、查询重写等策略提升意图理解的准确性。

准确的知识检索

知识检索为生成过程提供相关上下文,直接影响输出质量,但处理大规模数据集、平衡精确度与召回率以及应对动态数据源是其主要挑战,需优化检索算法并利用相关性反馈来解决。

无缝的知识整合

将外部知识与内部知识无缝整合是生成连贯输出的重要环节,面临处理不同数据类型、解决知识冲突和确保知识时效性的挑战,可通过多层整合策略灵活处理不同来源的知识。

四、RAG训练分类:

不更新数据存储的RAG训练:只更新RAG中每个模块的可训练参数,数据存储中的知识保持不变。

更新数据存储的RAG训练:先更新数据存储中的知识,然后更新RAG中每个模块的参数。

数据存储更新(RAG without Datastore Update):

检索器训练(Training Retriever):

训练检索器编码器并重建索引,通常涉及密集编码方法。

根据训练目标,可能需要更换编码器或使用对比学习训练现有编码器。

生成器训练(Training Generator):

更新生成器的参数或检索融合模块中的参数。

采用参数高效的微调技术,如LoRA,以解决大型语言模型(LLMs)的微调问题。

联合训练检索器和生成器(Jointly Training Retriever and Generator):

同时训练检索器和生成器以提高下游任务的性能。

确保从输入到输出的正向过程中的可微性,以实现端到端优化。

数据存储更新(Datastore Update):

种场景涉及两个阶段:更新知识库,然后训练检索器和生成器。更新知识库有三种情况,即用可训练的嵌入更新、用新值更新和用新语料库更新。

在第一种情况下,值通常是可训练的嵌入,并且与RAG中的参数同时/异步更新。最后两种情况通常指的是用最新信息更新知识库。

以问答语料库为例,用新值更新指的是更新现有问题的答案,而用新语料库更新指的是添加新的问答对。要更新现有键的值,首先需要查询现有的键值对,然后执行就地更新。对于新的语料库,数据存储首先需要执行插入操作,然后重建或更新新键的索引。更新数据存储后,训练检索器和生成器类似于没有数据存储更新的RAG。

五、RAG技术原理拆解

RAG = 检索系统 + 生成模型的架构设计,打破了传统生成模型的闭门造车模式:

1.检索模块(Retrieval)

A、基于用户输入的问题,从知识库/文档集中检索相关片段

B、采用**稠密向量检索(Dense Retrieval)**技术,通过语义相似度匹配内容

C、主流工具:FAISS、Milvus等向量数据库

2.生成模块(Generation)

A、将检索结果与原始问题拼接输入生成模型

B、支持动态知识融合,如使用**FiD(Fusion-in-Decoder)**架构

C、典型模型:GPT-4、Llama 2等大语言模型

3.协同优化机制

A、端到端联合训练检索器和生成器(如REALM模型)

B、基于强化学习的反馈机制提升结果相关性

六、工作流程:

查询提交和评估:用户提交查询,协调代理(或主检索代理)接收查询并分析以确定最合适的信息源。

知识源选择:根据查询类型,协调代理从多种检索选项中选择:

结构化数据库:对于需要表格数据访问的查询,系统可能使用Text-to-SQL引擎与如PostgreSQL或MySQL等数据库交互。

语义搜索:处理非结构化信息时,使用基于向量的检索获取相关文档(例如PDF、书籍、组织记录)。

网络搜索:对于实时或广泛上下文信息,系统利用网络搜索工具访问最新的在线数据。

推荐系统:对于个性化或上下文查询,系统利用推荐引擎提供定制化建议。

数据整合和LLM合成:从选定源检索到的相关数据传递给大型语言模型(LLM)。LLM合成收集的信息,将多个来源的见解整合成连贯且上下文相关的回答。

输出生成:系统最终生成一个全面的、面向用户的答案,以解决原始查询。此回答以可操作、简洁的格式呈现,可能包括对使用源的引用或引用。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /3 下一条