检索增强生成(RAG)是一种架构,通过将人工智能 (AI) 模型与外部知识库连接起来,优化其性能。RAG 帮助大型语言模型 (LLM)提供更相关、质量更高的响应。
生成式 AI 模型在大型数据集上进行训练,它们参考这些信息来生成输出。然而,训练数据集是有限的,并且仅限于 AI 开发人员可以访问的信息,例如公共领域作品、互联网文章、社交媒体内容和其他可公开访问的数据。
RAG 允许生成式 AI 模型访问其他外部知识库,例如企业内部组织数据、学术期刊和专业数据集。通过将相关信息整合到生成过程中,聊天机器人和其他自然语言处理 (NLP)工具可以创建更准确的特定领域内容,而无需进一步训练。
生成式 AI 模型有一个知识截止点 ,即其训练数据最后一次更新的时间点。随着模型超过其知识截止点的时间越长,其相关性会逐渐降低。RAG 系统实时将模型与补充的外部数据连接起来,并将最新的信息整合到生成的响应中。
企业利用 RAG 为模型配备特定信息,例如专有客户数据、权威研究和其他相关文件。
RAG 模型还可以通过应用程序编程接口(API)连接到互联网,获取实时社交媒体动态和消费者评论,以更好地了解市场情绪。同时,由于模型引擎可以访问最新新闻和搜索,可将检索到的信息整合到文本生成过程,从而提供更准确的呼应。
OpenAI 的 GPT 等生成式 AI 模型通过检测其数据中的模式,然后使用这些模式来预测用户输入最可能的结果来工作。有时模型会检测到不存在的模式。当模型将错误的或虚构的信息当作事实呈现时,就会发生幻觉或虚构。
RAG 将 LLM 锚定在由真实、权威和最新数据支持的特定知识中。与仅在其训练数据上运行的生成模型相比,RAG 模型倾向于在其外部数据的上下文中提供更准确的答案。虽然 RAG 可以降低出现幻觉的风险,但它不能使模型完全无误。
聊天机器人是一种常见的生成式 AI 实现,可以回答人类用户提出的问题。为了使 ChatGPT 等聊天机器人取得成功,用户需要认为其输出是可信的。RAG 模型可以在其响应中包含对外部数据中知识源的引用。
当 RAG 模型引用其来源时,人类用户可以验证这些输出以确认准确性,同时查阅引用的作品以获取后续澄清和额外信息。企业数据存储通常是一个复杂而孤立的迷宫。带有引用的 RAG 响应可以直接指向用户所需的材料。
访问更多数据意味着一个模型可以处理更广泛的提示。企业可以通过扩展其知识库来优化模型,从模型中获得更多价值,进而扩大模型生成可靠结果的上下文范围。
通过将生成式 AI 与检索系统相结合,RAG 模型可以针对复杂查询从多个数据源检索和整合信息。
RAG 系统本质上使用户能够使用对话语言查询数据库。RAG 系统的数据驱动问答功能已应用于一系列用例,包括:
专业聊天机器人和虚拟助理
研究
内容生成
市场分析和产品开发
知识引擎
推荐服务
想要实现客户支持自动化的企业可能会发现,他们的 AI 模型缺乏为客户提供充分帮助所需的专门知识。RAG AI 系统将模型接入内部数据,为客服聊天机器人提供有关公司产品、服务和政策的最新知识。
同样的原理也适用于 AI 虚拟形象和个人助手。将底层模型与用户的个人数据连接起来,并参考之前的互动,可以提供更加个性化的用户体验。
RAG 模型能够读取内部文档并与搜索引擎交互,在研究方面表现出色。金融分析师可以根据最新的市场信息和既往的投资活动,为客户生成特定的报告,而医疗专业人员可以处理患者和机构的记录。
RAG 模型引用权威来源的能力可以带来更可靠的内容生成。虽然所有生成式 AI 模型都可能产生幻觉,但 RAG 使用户更容易验证输出的准确性。
企业领导者可以查阅社交媒体趋势、竞争对手活动、行业相关突发新闻和其他在线资源,以便更好地为业务决策提供信息。与此同时,产品经理可以在考虑未来的开发选择时参考客户反馈和用户行为。
RAG 系统可以为员工提供公司内部信息。简化的新员工入职流程、更快的人力资源支持以及为现场员工提供按需指导,只是企业可以利用 RAG 提升工作表现的几种方式。
通过分析用户以往的行为,并将其与当前的供应进行比较,RAG 系统可以提供更准确的推荐服务。电子商务平台和内容交付服务都可以使用 RAG 来保持客户的参与度和消费力。
RAG 通过将信息检索模型与生成式 AI 模型相结合,生成更具权威性的内容。RAG 系统会查询知识库,并在生成响应之前向用户提示添加更多上下文。
标准的 LLM 从其训练数据集中获取信息。RAG 在 AI 工作流中增加了一个信息检索组件,收集相关信息并将其输入到生成式 AI 模型中,以提高响应的质量和实用性。
RAG 系统遵循五个阶段的过程:
用户提交提示。
信息检索模型查询知识库以获取相关数据。
相关信息从知识库返回到整合层。
RAG 系统通过从检索到的数据中增强上下文,为 LLM 构建一个增强的提示。
LLM 生成输出并将结果返回给用户。
此过程展示了 RAG 名称的由来。RAG 系统从知识库中检索数据,使用额外的上下文增强提示并生成响应。
RAG 系统包含四个主要组件:
其他组件可能包括一个排名器,它根据相关性对检索到的数据进行排名,以及一个输出处理程序,它为用户格式化生成的响应。
构建 RAG 系统的第一阶段是创建一个可查询的知识库。外部数据存储库可能包含来自无数来源的数据:PDF、文档、指南、网站、音频文件等。其中大部分将是非结构化数据,这意味着它尚未被标记。
RAG 系统使用一种称为嵌入的过程,将数据转换为称为矢量的数值表示。嵌入模型将数据矢量化到一个多维数学空间中,根据相似性排列数据点。被判定为相关性较近的数据点会被紧密地放在一起。
为了保持 RAG 系统的质量和相关性,知识库必须不断更新。
LLM 输入受限于模型的上下文窗口:即模型在不丢失上下文的情况下所能处理的数据量。将文档分割成更小的块有助于确保生成的嵌入不会超出 RAG 系统中 LLM 的上下文窗口。
块大小是 RAG 系统的一个重要超参数。当块太大时,数据点可能会变得过于笼统,无法直接对应于潜在的用户查询。但如果块太小,数据点可能会失去语义一致性。
整合层是 RAG 架构的中心,协调进程并在网络中传递数据。借助知识库中的额外数据,RAG 系统为 LLM 组件创建了一个新的提示。此提示由原始用户查询加上检索模型返回的增强上下文组成。
RAG 系统采用多种提示工程技术,以自动化的方式创建有效的提示,帮助 LLM 返回最佳可能的响应。与此同时,像开源的 LangChain 和 LlamaIndex 或 IBM watsonx Orchestrate 之类的 LLM 编排框架,负责管理整个 AI 系统的运行。
RAG 和微调之间的区别在于,RAG 允许 LLM 查询外部数据源,而微调则是在特定领域的数据上训练 LLM。两者都有一个共同的总体目标:让 LLM 在特定领域表现得更好。
RAG 和微调通常是相对的,但也可以同时使用。微调让模型更熟悉目标领域和输出要求,而 RAG 则帮助模型生成相关且高质量的输出。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。