
RAG:增强LLM效能的企业智慧检索利器 McKinsey / leeron
检索增强生成(Retrieval-Augmented Generation,简称 RAG)是一种为大型语言模型(LLM)设计的技术,旨在提高其输出内容的针对性和相关性,以更好地满足终端用户的需求。
近年来,大型语言模型在内容生成方面取得了显著进展,但在企业效率和生产力提升方面,很多企业领导人发现,现有的生成式 AI 工具尚未达到预期的效果。这背后的原因之一在于,LLM 的训练数据受限于开发者可用的信息,而这些通用数据不足以满足企业环境中复杂、细致的知识需求。
RAG 通过让 LLM 能够在生成响应前访问模型训练数据之外的信息资源(如企业特定的知识库)来解决这个问题,甚至还能在生成内容时附上引用。这种方法无需复杂的模型微调或再训练,便可大幅提升 LLM 的输出针对性,且成本较低,部分实现了定制化模型的效果。
以典型的生成式 AI 客服聊天机器人为例。虽然此类机器人可以提供一些通用指导,但由于其依赖的 LLM 仅基于有限的通用数据训练,因此无法调用企业内部的独有政策、流程、数据或知识库。因此,回答的内容缺乏与用户询问相关的具体性。比如,当客户询问其账户状态或支付选项时,机器人往往只能提供一些泛泛的建议,无法基于企业的特定数据提供准确的解答。
而应用了 RAG 的系统则能够接入大量最新、企业特定的信息,因而能够提供更为准确、相关和连贯的输出。这一特性在需要高精确度的应用场景中尤为有用,例如企业知识管理系统,或针对特定领域(如公司内部某项流程、用户旅程、职能等)的智能助手。
RAG 的工作原理
RAG(检索增强生成)包含两个主要阶段:摄取和检索。可以将其想象为一个拥有数百万本书的大型图书馆。
“摄取”阶段类似于将书籍上架并为其内容创建索引,使图书馆管理员能够快速定位书籍。在此过程中,每本书、每一章甚至特定段落都会生成一组密集的向量表示——也称为“嵌入”(embedding)*,即数据的数字化表示。这些嵌入能有效捕捉文本的语义信息,从而实现高效的信息匹配。
一旦图书馆的书籍上架并建立索引,便进入“检索”阶段。当用户提出关于某个特定主题的问题时,图书馆管理员可以利用索引找到最相关的书籍。选中的书籍会被扫描、提取出相关内容,并经过精炼加工后形成简明的回答。初始的问题指导了检索和筛选过程,使得管理员能够仅提供最切题和准确的信息作为回应。此过程可能涉及总结多个来源的要点、引用权威文本,甚至基于馆藏资源生成新内容。
通过这些摄取和检索阶段,RAG 实现了传统 LLM 难以达到的高度定制输出。图书馆和索引的建立为管理员提供了内容选择和信息整合的基础,从而能够生成更具相关性、也更有帮助的回答。
除了访问公司内部的“图书馆”,许多 RAG 实现还可以实时查询外部系统和资源。以下是常见的检索方式:
- 数据库查询:RAG 可从数据库或表格等结构化格式中检索相关数据,便于查找和分析。
- 应用程序接口(API)调用:RAG 可利用 API 从其他服务或平台访问特定信息。
- 网络搜索/抓取:在某些情况下,RAG 实现可以抓取网页上的相关信息,但这种方法相对容易受数据质量影响,错误风险较高。
RAG 适用的业务领域
RAG 系统在多个业务领域有着广泛的应用前景,包括客服、营销、财务以及知识管理等。通过将 RAG 集成到现有系统中,企业可以生成比现成的大型语言模型(LLM)更精确的输出,进而提高客户满意度、降低成本、提升整体表现。以下是 RAG 在一些具体场景中的应用示例:
- 企业知识管理聊天机器人:当员工在公司内部网或其他知识源中查找信息时,RAG 系统能够从组织内的各类信息源中提取、整合相关内容,为员工提供实用的见解和建议,帮助员工快速找到所需信息。
- 客户服务聊天机器人:当客户在公司网站或移动应用中咨询产品或服务时,RAG 系统可以从公司政策、客户账户数据等来源检索相关信息,从而向客户提供更准确、贴合需求的响应,显著提升用户体验。
- 文档起草助手:当员工开始撰写需要公司专属数据或信息的报告或文件时,RAG 系统可以从企业数据库、电子表格及其他系统中提取相关数据,提前填充文档部分内容,使员工更高效、准确地完成文档编写工作。
RAG 面临的挑战
虽然 RAG 是增强大型语言模型(LLM)功能的强大工具,但也存在一些局限性。和所有基于数据的系统一样,RAG 的效果依赖于数据的质量。以下是 RAG 系统面临的一些具体挑战:
- 数据质量问题:如果 RAG 所用的数据不准确或过时,输出结果也可能会产生偏差或错误。
- 多模态数据的处理:RAG 可能无法读取复杂的图表、图像或幻灯片内容,这会影响输出结果的准确性。新的多模态 LLM 能够解析复杂的数据格式,能在一定程度上缓解这一问题。
- 偏见:如果底层数据存在偏见,RAG 生成的内容也可能出现偏向,影响信息的公正性。
- 数据访问和授权问题:RAG 系统在设计中需要考虑数据访问的知识产权、授权、隐私和安全问题,以确保合规性。
为应对这些挑战,企业可以建立或完善数据治理框架,以确保 RAG 所用数据的质量、可访问性和时效性。在实施 RAG 系统时,还应仔细评估潜在的版权问题、底层数据集中的偏见以及不同数据集之间的互操作性,特别是当数据集分散时。
RAG 的发展趋势
随着 RAG 的能力和应用潜力不断扩展,以下几个新兴趋势有望推动其未来发展:
- 标准化:RAG 所依赖的软件模式逐渐标准化,越来越多的开箱即用解决方案和库将涌现,RAG 的构建和部署将变得更为便捷。
- 基于智能体的 RAG:智能体系统能够自主推理并相互交互,所需的人为干预较少。这些系统可以让 RAG 更灵活地适应变化的情境和用户需求,进而更好地响应复杂或细微的请求。
- 为 RAG 优化的 LLM:如今一些 LLM 专为 RAG 任务而训练,能够更高效地从大规模数据集中检索信息,而不局限于模型本身的参数化知识。例如,Perplexity AI 等模型就经过专门微调,可在回答复杂问题和文本总结等 RAG 应用中表现出色。
RAG 增强的 LLM 结合了人类和机器的优势,使用户能够获取广泛的知识资源并生成更准确、相关的响应。随着该技术的持续演进,预计在可扩展性、适应性和企业应用影响方面将迎来显著进步,并有望激发创新、创造更多价值。
*什么是嵌入
嵌入(Embeddings)是将词语或短语以数字向量形式呈现的方式,在一个多维的数字空间中,类似的概念或语义会聚集在一起。每个嵌入都用一个向量表示——这是一组数字,描述了词语或短语的特征或语义,如颜色、形状、含义等。向量类似于地图上的坐标,精确地指明了该词语在语义空间中的位置。
嵌入帮助大型语言模型(LLM)只检索最相关的数据,就像图书馆的目录系统使管理员能够迅速找到相关文本一样。以下是一个嵌入的示例:
- “king”一词在多维空间中表示为一个向量。
- “man”也以向量表示,由于“king”和“man”语义相关,它们的向量也相似。
- “woman”则以一个不同的向量表示。
- 当我们从“king”向量中减去“man”向量并加上“woman”向量时,得到的新向量就代表了“queen”这一概念。