以下是一些 RAG 应用的案例:
下图中展示了一个典型的RAG应用工作流程:用户向ChatGPT查询最近引起广泛关注的事件(例如,OpenAI首席执行官的突然解雇和复职),这些事件引发了大量的公众讨论。作为最著名和广泛使用的LLMs,受限于其预训练数据,ChatGPT缺乏对最新事件的了解。RAG通过从外部知识库中检索最新的文档摘录来解决这一问题。在这种情况下,它获取了与查询相关的一些新闻文章。这些文章连同最初的问题被合并成一个丰富的提示,使ChatGPT能够合成一个知情的回答。这个示例说明了RAG的过程,展示了它通过实时信息检索来增强模型的响应能力。从技术上讲,RAG已经通过各种创新方法得到丰富,这些方法解决了关键问题,例如“要检索什么”、“何时检索”和“如何使用检索到的信息”。关于“要检索什么”的研究已经从简单的标记检索和实体检索发展到更复杂的结构,如块和知识图研究重点放在检索的粒度和数据结构的级别上。粗粒度带来更多的信息,但精度较低。检索结构化文本提供了更多信息,但效率较低。关于“何时检索”的问题已经产生了各种策略,从单一检索到自适应检索和多次检索,再到高频率检索的方法。
文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理
旁白:一路千辛万苦,终于要真正了解RAG的全貌了,好激动前面的开胃菜已经完毕,这里我们进入正餐,先上一张图注:这张图引用自:https://mp.weixin.qq.com/s/37tKVQbxenVVBAeMZ334aQ公众号:AI花果山一位RAG大佬,正在编写一系列教程《RAG高效应用指南》这张图将会是我们本章的知识地图,看到这么多的概念,不要慌,我们先整体理解下RAG。自顶向下,RAG的流程分为离线数据处理和在线检索两个过程。我们前面讲到,知识库是RAG的“活字典”,可以让AI随时进行查阅。而离线数据处理的目的就是为了构建出这本“活字典”。经过离线数据后,知识则会按照某种格式以及排列方式存储在知识库中,等待被使用。而在线检索则是我们使用利用知识库+大模型进行查询的过程。在学习一门新知识的时候,是什么与为什么同等重要是什么让你知其然为什么让你知其所以然接下来我们就以RAG最经典的应用场景《构建智能问答客服》来了解RAG所有流程中的What与Why