检索增强生成 Retrieval-Augmented Generation (RAG)

检索增强生成 (RAG) 是一种人工智能框架,用于通过将模型建立在外部知识源的基础上来补充 LLMs 的内部信息表示,从而提高 LLMs 生成的响应的质量。 RAG 是一种利用从外部来源获取的事实来提高生成式 AI 模型的准确性和可靠性的技术,它对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。在基于 LLM 的问答系统中实施 RAG 有两个主要好处:1. 它确保模型能够访问最新、可靠的事实;2. 用户能够访问模型的来源,确保可以检查其声明的准确性和准确性,最终得到信任。

RAG 将信息检索组件与文本生成器模型相结合。 RAG 可以进行微调,并且可以有效地修改其内部知识,而无需重新训练整个模型。

检索增强生成的好处

RAG 技术为组织的生成式人工智能工作带来了多项好处。

  • 经济高效的实施方法:聊天机器人开发通常从基础模型开始。基础模型 (FM) 是在广泛的广义和未标记数据上训练的 API 可访问 LLM 。针对组织或领域特定信息重新训练 FM 的计算和财务成本很高。 RAG 是一种将新数据引入 LLM 的更经济高效的方法,它使生成式人工智能技术更广泛地获得和使用。
  • 提供最新信息:即使 LLM 的原始训练数据来源适合用户需求,但保持数据的相关性也是一个挑战。 RAG 允许开发人员为生成模型提供最新的研究、统计数据或新闻。他们可以使用 RAG 将 LLM 直接连接到实时社交媒体提要、新闻网站或其他经常更新的信息来源。然后,LLM 可以向用户提供最新信息。
  • 增强用户信任度:RAG 允许 LLM 通过来源归属来呈现准确的信息。输出可以包括对来源的引文或引用。如果需要进一步说明或更详细的信息,用户也可以自己查找源文档。这可以增加对生成式人工智能解决方案的信任和信心。
  • 开发人员具有更多的控制权:借助 RAG,开发人员可以更高效地测试和改进他们的聊天应用程序。他们可以控制和更改 LLM 的信息来源,以适应不断变化的需求或跨职能使用。开发人员还可以将敏感信息的检索限制在不同的授权级别内,并确保 LLM 生成适当的响应。此外,如果 LLM 针对特定问题引用了错误的信息来源,他们还可以进行故障排除并进行修复。组织可以更自信地为更广泛的应用程序实施生成式人工智能技术。

检索增强生成的工作流程

如果没有 RAG,LLM 会接受用户输入,并根据它所接受训练的信息或它已经知道的信息创建响应。 RAG 引入了一个信息检索组件,该组件利用用户输入首先从新数据源提取信息。用户查询和相关信息都提供给 LLM 。 LLM 使用新知识及其训练数据来创建更好的响应。以下各部分概述了该过程。

  • 创建外部数据:LLM 原始训练数据集之外的新数据称为外部数据。它可以来自多个数据来源,例如 API 、数据库或文档存储库。数据可能以各种格式存在,例如文件、数据库记录或长篇文本。另一种称为嵌入语言模型的 AI 技术将数据转换为数字表示形式并将其存储在向量数据库中。这个过程会创建一个生成式人工智能模型可以理解的知识库。
  • 检索相关信息:下一步是执行相关性搜索。用户查询将转换为向量表示形式,并与向量数据库匹配。例如,考虑一个可以回答组织的人力资源问题的智能聊天机器人。如果员工搜索「我有多少年假?」,系统将检索年假政策文件以及员工个人过去的休假记录。这些特定文件将被退回,因为它们与员工输入的内容高度相关。相关性是使用数学向量计算和表示法计算和建立的。
  • 增强 LLM 提示:接下来,RAG 模型通过在上下文中添加检索到的相关数据来增强用户输入(或提示)。此步骤使用提示工程技术与 LLM 进行有效沟通。增强提示允许大型语言模型为用户查询生成准确的答案。
  • 更新外部数据:下一个问题可能是——如果外部数据过时了怎么办? 要维护当前信息以供检索,请异步更新文档并更新文档的嵌入表示形式。您可以通过自动化实时流程或定期批处理来执行此操作。这是数据分析中常见的挑战——可以使用不同的数据科学方法进行变更管理。

下图显示了将 RAG 与 LLM 配合使用的概念流程:

图源:aws.amazon

参考来源

【1】https://aws.amazon.com/cn/what-is/retrieval-augmented-generation/?nc1=h_ls