大模型的RAG(检索增强生成) ----大模型外挂
1 什么是RAG
检索增强生成技术(RAG)是一个核心理念 ,也可以被视为一种方法论 ,它旨在通过整合外部知识资源来提升大语言模型(Large Language Model, LLM)的性能。
前排提示,文末有大模型AGI-独家资料包哦!
在2020年的研究年份里
可以用一个简明的比喻 来理解大语言模型中的RAG功能:它类似于学生在开放资料考试中的情况。在这种情况下,学生可以凭借参考资料进入考场(open notes exam),用于查找解答问题所需的相关信息。开放资料考试的核心在于测试学生的推理能力(reasoning ability),而非对具体信息的记忆能力(memory of specific information)。
在 Retrieval-Augmented Generation(RAG)系统中
- 参数化知识(Parametric knowledge): 模型通过训练阶段逐步学习并最终形成隐式化的神经网络权重表示。
- 非参数化知识(Non-parametric knowledge): 存储于外部知识库中如向量数据库等非参数化存储系统内。
2 为什么需要RAG
除了单纯的大型语言模型外,
微调(Fine-tune) 也能够辅助补充领域知识的作用,
那么 RAG 的重要性依然体现在哪里呢?
- 幻觉生成问题:尽管大模型的规模庞大,但与人类 aggregate knowledge 的差距依然显著。因此,在生成内容时容易出现 fact distortion. 所以对于 LLMs 来说, 通过 retrieval-based methods 来补充特定领域知识是十分必要的.
- 时效性挑战:大模型的 training data 存在 time limitation. 尽管 fine-tuning 可以为其注入新知识, 但这一过程仍面临巨大的 computational 和 temporal challenges: 需要大量算力资源且难以实现 day-level 的更新频率. 在 RAG 模式下, vector database 和 search engine 的 update 则更加便捷, 这有助于提升业务 data 的实时可用性.
- 数据隐私风险:虽然可以通过 fine-tuning 提升 LLM 在特定领域的处理能力. 然而, 所使用的领域知识可能包含 sensitive information, 并且容易外泄. RAG 模式通过引入 private data storage 可以有效保护用户数据的安全性.
3 如何使用RAG
3.1 RAG技术原理
RAG 融合了信息检索与文本生成两种方法,旨在突破传统问答系统的局限性。通过将外部数据检索的关键信息输入大语言模型,并基于这些数据内容自动生成回答内容以提升答案生成的能力。
RAG 主要有两个核心组件 :信息检索和文本生成。
信息检索(Retrieve) 的核心功能是,在大规模的知识库或文档集中获取与用户问题相关的相关信息。类似于人们在图书馆寻找相关书籍来解答特定的问题。通常情况下,这一过程主要运用传统的信息检索技术如逆向指数、TF-IDF 评分以及BM25 算法等方法;此外还可以采用更为先进的基于向量空间的方法。
Text generation (Generate) is responsible for producing coherent and precise responses based on retrieved data. This process can be seen as writing brief articles or responses from collected materials. This function typically employs advanced pre-trained language models, such as GPT and the Llama series. However, relying solely on external files often falls short of requirements. Typically speaking, external files are of significant size, while embedding models along with large language models do have limitations regarding sequence length. Therefore, we need to partition files into multiple text blocks (Chunks), ensuring more precise retrieval and generation processes.

3.2 RAG工作流程
检索:将用户的查询转换为向量表示,并在向量数据库中与其他上下文信息进行对比。通过相似性搜索,在向量数据库中能够找到最匹配的前k条数据。
增强
最后,在此阶段内,在此时间点内,该提示内容将被检索并强化处理后输入到大语言模型 (LLM) 中,并生成所需的输出

3.2.1 最基础的RAG流程
- 接收并分析用户的查询请求:系统接收并分析用户的在线查询请求。
- 通过多源数据检索并获取相关知识内容:系统通过多个外部知识库进行数据检索,并整合获取相关知识内容。
- 利用大语言模型进行信息整合与内容生成:大语言模型将检索到的知识内容与用户的原始查询相结合,并利用其强大的语义理解和上下文推理能力进行信息整合与内容生成。
- 结合用户需求进行创新性表达:在信息整合的基础上,结合用户的具体需求进行创新性表达和个性化回复的生成过程。
- 将整合后的回答结果返回至客户端:将最终整合后的回答结果返回至客户端,并完成与用户的交互流程结束。

3.2.2 增加预处理查询的 RAG
在用户提问环节,可以对问题进行进一步的预处理和理解查询。
- 问题预处理:系统首先会对用户的输入进行预处理工作,包括但不限于文本清洗、数据标准化等环节,以保证后续的数据质量。
- 解析查询:该系统通过自然语言处理技术来解析用户的查询内容与意图。这一过程主要依赖于传统NLP技术中的知识领域与意图识别机制,在理解用户需求的基础上选择相应的数据库资源,并可以根据不同的匹配阈值设置相应的操作流程。

3.2.3 带有聊天历史的 RAG
在现实对话场景中, 用户与系统之间的交流通常由多句构成, 并且这些句子之间存在指代联系. 比如说, 用户连续说了两句:
- 张三是北大的学生。
- 他今年多大了?
当系统逐条解析接收到的信息时,则可能导致对‘他’这一指代对象的理解出现偏差。为了准确解析用户的提问内容‘张三多大了’,系统应综合分析前后文信息。
在这一案例中,在处理问题时首先进行了基本预处理。此外还有一个关键步骤是将之前的记录信息录入系统。通常的做法是在大语言模型中整合当前查询与之前的查询数据。这种做法能够有效消除歧义性问题。

3.2.4 增加自动排序的 RAG
由于增加了聊天历史记录 ,然而 在数据处理过程中 系统将信息分割成过多的小块 这可能导致 检索维度无法达到最佳效果 因此 单次 检索结果的相关性较低 此时 可能需要采取一些策略来 重新排列 检索结果 或者 重新优化 组合的相关性和匹配度等参数 使其更加适合于业务场景的需求
对此,通常会设置内部触发器进行自动评审,触发自动重排序的逻辑。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是刚开始接触的大白想要快速掌握大模型的基本知识是可以尝试的。
一方面是可以相对缩短投入的时间另一方面则可以相对集中精力进行学习。
在内容上则更加全面和集中你可以根据这些资料选择适合自己的学习路径。
根据这些资料可以帮助制定合理的学习规划并明确学习的方向。
涵盖:系统课程规划(包括但不限于完整的大模型学习线路汇总)
😝有需要的小伙伴,可以保存图片到wx扫描二v码 免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段:我们利用大模型提示词工程结合基于Prompts技术的方法来更有效地发挥模型的作用。
第三阶段: 第三个阶段基于大模型技术的应用开发,依托阿里云PAI平台搭建电商领域虚拟试衣系统(电商领域)。
第四阶段: 以LangChain框架为基础进行大模型知识库的应用开发,并基于此搭建物流行业咨询智能问答系统。
第五阶段:通过在大健康、新零售及新媒体领域搭建适合现行的大模型架构进行微调开发。
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段:主要是围绕大型语言处理系统的核心技术展开研究与实践工作,并重点利用星火大语言平台和文心大语言平台等成熟的大型语言技术搭建完善的大语言技术支撑体系
👉大模型实战案例👈
光学理论看似无用,在实际应用中需要主动参与实践操作才能真正掌握所学内容;通过亲自动手练习能够将理论知识转化为实际能力;这时可以通过实际案例深入理解相关技术原理并提升专业水平。

👉大模型视频和PDF合集👈
通过观看零基础学习的书籍和视频作为主要的学习途径,在线教育平台提供的书籍与视频课程通常最为快捷且最为有效的教学资源。在观看过程中,请依照视频中所展示的教学思路进行学习,并逐步掌握由浅入深的知识体系。


👉学会后的收获:👈
• 以大模型全栈技术为核心构建 (前端开发人员、后端开发人员、产品经理、设计人员及数据分析专家等),掌握多种核心技能;
• 能够利用大模型解决相关实际项目需求: 随着大数据时代的到来, 各行各业的企业和机构面临着海量数据处理的挑战, 通过大model技术的应用, 可以显著提升了数据分析与决策的准确性, 更好地满足企业运营的需求. 因此, 深入掌握大model应用开发技能, 可以使程序员能够更高效地应对实际项目的需求;
通过融合大数据与企业级人工智能应用开发实践,“系统性地习得大模型原理、全面掌控高性能计算资源(GPU算力)、深入了解硬件配置与架构优化方案(LangChain开发框架),以及培养项目实战能力”。学会Fine-tuning垂直训练大model(数据准备、数据蒸馏、大model部署)一站式提升专业水平。
该系统具备完成当前主流大模型垂直领域训练任务的能力,并能有效提升程序员的编程技能。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码 免费领取【保证100%免费】🆓

