为了回馈粉丝们的厚爱,今天小智给大家送上一套大模型RAG实战指南——《大模型RAG实战:RAG原理、应用与系统构建》。这是一本已经被市场公认的大模型RAG的标准性著作,极具实战性和技巧性🔥🔥🔥,阅读本书,先人一步实现能力跃迁。下面我会详细给大家介绍这本书,文末留有领取方式。
一、图书介绍
ChatGPT爆火之后,以ChatPDF为首的产品组合掀起了知识库问答的热潮。
在过去一整年中,大多数人都在完成RAG系统到高级RAG系统的迭代升级。但是技术发展是迅速的,如何深入了解RAG的发展,做出更好的RAG系统,其实还是非常困难的。
大模型爆火后的RAG系统发展,大体可以将其分为3个阶段,初级、高级、超级。初级阶段更多的是搭建起系统的pipeline;高级阶段是在召回生成测修修补补,根据badcase反推流程上的优化技巧;超级对应了从Agentic RAG、RAG不存在了、多模态RAG、结构化RAG、GraphRAG、MemoryRAG等技术飞速发展的阶段。
S1 初级RAG
S1阶段处于2023年元旦前后,最先在Github出现了一批尝试去复现ChatPDF的项目,他们通过对知识库文档进行定长分块建立索引。然后使用用户的查询去索引中召回相关的文档片段,结合预定义的提示模板,让LLM生成问题相关的答案。
其中用到的向量和LLM模型,闭源一般使用OpenAI的ada-002和ChatGPT。开源中文的则比较稀缺,常见的如SimBERT、Text2Vec和ChatGLM v1 6B等。
大体的一个流程图如下:
S2 高级RAG
S2阶段横跨2023年整年的时间,大体上可以分为模型层面和策略层面。
① 模型测
召回模型测:开源社区现在向量模型发力,一些针对QA分布的向量模型开源,如M3E、BGE等。
生成模型测:国产大模型百花齐放,百川、书生、千问、智谱等。
② 策略测
策略测在卷3大块的内容:
-
如何保证更好的文档切分?
这里诞生了很多的解析、切分、索引构建技巧。- 解析层面:从纯文本识别,到借助版式识别+OCR的方式,还要针对表格、图片等单独处理。
- 切分方面:从滑动窗口定长切分到语义、模块化切分等。
- 索引构建技巧:为了应对chunk切分后的信息丢失问题,常见的比如保留前后块的索引,文档级别的索引构建等。
-
如何召回得更好?
召回层面的一个出发点是,用来召回的query并非一定是用户的输入query。对此我们可以想到如query改写、HyDE、子问题、Step-back等常见策略。当然也有混合搜索这类不属于这个范畴的技巧。 -
如何生成得更好?
生成层面的一个出发点是,用来生成的内容并非一定是召回的query。从这一点我们也可以想到如召回内容压缩、内容重新排序、溯源、Map-Reduce等一些策略。
③ 模型微调测
RAG系统的主要模型还是嵌入模型和生成模型。因此二者的训练方式,也产生了几个不同的大类别。最简单的二者直接使用开源模型,称为Training-free的方式;如果是针对私有化的数据进行训练这两个模型,产生三种训练方式:
- 方式一:分别独立训练(Independent Training)
- 方式二:顺序训练(Sequential Training)
又因为模块的先后,分为LLM First / Retriever First两种 - 方式三:联合训练(Joint Training)
S3 超级RAG
S3阶段处于2023年底一直到现在,这个阶段RAG的概念几乎是两个月变一次。
2023年底,2024年初,开源的大模型已经出现了如Yi-34B、Qwen-72B等具备长上下文能力且效果优异的大模型。RAG的发展注定需要往当时火热的Agent层面靠拢。
Agent的核心为引擎+工具。引擎对整个流程做出决策,如是否调用某个知识库搜索知识,是否需要对结果进行反思重新迭代等。一个简单的Agentic RAG系统如下图:
多模态RAG、结构化RAG,属于小而美的范畴。可能一方面是多模态还没有完全进入工业界,结构化RAG属于NL2SQL的范畴。对于这两个整体上与传统的RAG差异不大,区别在于,多模态流转的中间形态可能是图片,使用CLIP之类的图文检索模型召回,VL模型进行答案生成。结构化RAG的差异仅在召回层面,使用SQL、DSL等方式进行结构化数据库的召回。
2024年上半年,部分厂商的RAG系统,在探索新的方向。如Contextual.ai发文介绍他们的RAG2.0系统,虽然介绍博客的内容主要是联合训练。斯坦福的大佬们发布了RAPTOR,尝试通过层次的聚类来让RAG索引具备更高级的信息。
越来越多的开源框架,在往Agentic RAG方面发展,当然最常见的还是结合Self-Reflection、Self-RAG、CRAG的Agentic RAG系统。
2024年中,微软开源了GraphRAG的项目代码,无数的公众号在炒作这个图谱结合的RAG系统。相比于RAPTOR,GraphRAG在底层的chunk层更拉通,前者的聚类仅限于文档内,逐级往上到文档间。而基于图谱的RAG在文档间的chunk之间可能会存在实体的连接,从而社区之类之后可以让聚类的社区信息,更好地跨不同的文档。整体上,确实能丰富RAG系统的索引构建,也可以结合传统的高级RAG,实现一个更好的混合RAG系统。
当然,2024年也有很多“RAG不存在”的说法,如很多的论文在评估长上下文(LC)大模型与RAG系统准确率的高低之时,RAG系统都处于下风。同时还有一些特殊的开闭源产品,比较常见的就是将知识融合进外挂参数中,最早的如Lamini的Memory Tuning,最近的如智源的MemoRAG。
本文作者:汪鹏 资深NLP技术专家和AI技术专家,拥有多年NLP落地经验。擅长结合用户场景,针对性地设计图谱、问答、检索、多模态、AIGC等相关的算法和落地方案。在Kaggle获得多枚奖牌,等级Master。拥有公众号“NLP前沿”。
文章来源:IT阅读排行榜
本文摘编自《大模型RAG实战:RAG原理、应用与系统构建》,机械工业出版社出版,经出版方授权发布,转载请标明文章来源。
延伸阅读
汪鹏 谷清水 卞龙鹏 著
多年大厂工作经验的资深AI技术专家撰写
指导读者深入理解RAG技术原理
学会RAG落地应用技巧
掌握RAG系统构建方法/font>
快速掌握大模型应用开发
内容简介:
这是一本全面讲解RAG技术原理、实战应用与系统构建的著作。作者结合自身丰富的实战经验,详细阐述了RAG的基础原理、核心组件、优缺点以及使用场景,同时探讨了RAG在大模型应用开发中的变革与潜力。书中不仅揭示了RAG技术背后的数学原理,还通过丰富的案例与代码实现,引导读者从理论走向实践,轻松掌握RAG系统的构建与优化。无论你是深度学习初学者,还是希望提升RAG应用技能的开发者,本书都将为你提供宝贵的参考与指导。
购书链接:
《大模型RAG实战:RAG原理、应用与系统构建》
https://item.jd.com/14780610.html
二、赠书领取
为了回馈粉丝们的厚爱,今天小智给大家送上一套大模型RAG实战指南——《大模型RAG实战:RAG原理、应用与系统构建》。这是一本已经被市场公认的大模型RAG的标准性著作,极具实战性和技巧性🔥🔥🔥,阅读本书,先人一步实现能力跃迁,提升你的开发技能,与我们一起在智能开发的道路上不断前行。
扫码加入:👇👇👇
本次抽奖赠书公平、公正、公开,抽出多名幸运粉丝寄送《大模型RAG实战:RAG原理、应用与系统构建》(包邮)。