检索增强生成 (RAG) - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

检索增强生成 (RAG)

基础模型通常是离线训练的,这使得模型不了解在模型训练后创建的任何数据。此外,基础模型在非常通用的领域语料库上训练,这使得它们在特定于领域的任务中的效率较低。您可以使用检索增强生成 (RAG) 在基础模型的外部检索数据,并通过在上下文中添加检索到的相关数据来增强提示。有关 RAG 模型架构的更多信息,请参阅知识密集型 NLP 任务的检索增强生成

使用 RAG,用于增强提示的外部数据可以来自多个数据来源,例如文档存储库、数据库或 API。第一步是将您的文档和任何用户查询转换为兼容的格式,以执行相关性搜索。为了使格式兼容,需要使用嵌入式语言模型,将文档集合或知识库以及用户提交的查询转换为数字表示形式。嵌入是在向量空间中对文本进行数字表示的过程。RAG 模型架构比较知识库向量中用户查询的嵌入情况。然后,将知识库中类似文档的相关上下文附加到原始用户提示中。接下来,此增强提示将发送到基础模型。您可以异步更新知识库及其相关嵌入。

A model architecture diagram of Retrieval Augmented Generation (RAG) showing how embeddings of user queries and supplemental documents are used to augment foundation model prompts to improve customization.

检索到的文档应足够大,以包含有用的上下文以帮助增强提示,但又要足够小,以适应提示的最大序列长度。您可以使用特定于任务的 JumpStart 模型(例如中的通用文本嵌入 (GTE) 模型)来为提示和知识库文档提供嵌入内容。Hugging Face比较提示和文档嵌入以找到最相关的文档后,使用补充上下文构造一个新的提示。然后,将增强提示传递给您选择的文本生成模型。

示例笔记本

有关 RAG 基础模型解决方案的更多信息,请参阅以下示例笔记本:

您可以克隆 Amazon SageMaker 示例存储库,以便在 Studio 中选择的 Jupyter 环境中运行可用的 JumpStart 基础模型示例。有关可用于在中创建和访问 Jupyter 的应用程序的更多信息 SageMaker,请参阅。Amazon SageMaker Studio 支持的应用程序