

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

# 完全托管检索增强生成选项已开启 AWS
<a name="rag-fully-managed"></a>

要管理检索增强生成 (RAG) 工作流程 AWS，您可以使用自定义 RAG 管道或使用其提供的某些完全托管的服务功能。 AWS 由于它们包含基于 RAG 的系统的许多核心组件，因此完全托管的服务可以帮助您管理一些无差别的繁重工作。但是，这些服务提供的定制机会较少。

完全托管 AWS 服务 使用连接器从外部数据源（例如网站、Atlassian Confluence 或 Microsoft）提取数据。 SharePoint支持的数据源因而异 AWS 服务。

本节探讨了以下用于构建 RAG 工作流程的完全托管选项： AWS
+ [Amazon Bedrock 知识库](rag-fully-managed-bedrock.md)
+ [Amazon Q Business](rag-fully-managed-q-business.md)
+ [亚马逊 A SageMaker I Canvas](rag-fully-managed-sagemaker-canvas.md)

有关如何在这些选项之间进行选择的更多信息，请参阅本指南[选择 “检索增强生成” 选项 AWS](choosing-option.md)中的。

# Amazon Bedrock 知识库
<a name="rag-fully-managed-bedrock"></a>

[Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) 是一项完全托管的服务，它通过统一的 API 提供来自领先的人工智能初创公司和亚马逊的高性能基础模型 (FMs) 供您使用。[知识库](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)是 Amazon Bedrock 的一项功能，可帮助您实施从摄取到检索和即时增强的整个 RAG 工作流程。无需构建与数据源的自定义集成，也无需管理数据流。内置会话上下文管理，因此您的生成式 AI 应用程序可以轻松支持多回合对话。

在您指定数据位置后，Amazon Bedrock 的知识库会在内部提取文档，将它们分成文本块，将文本转换为嵌入内容，然后将嵌入内容存储在您选择的矢量数据库中。Amazon Bedrock 管理和更新嵌入内容，使矢量数据库与数据保持同步。有关知识库工作原理的更多信息，请参阅 [Amazon Bedrock 知识库的工作原理](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-how-it-works.html)。

如果您向 Amazon Bedrock 代理添加知识库，则代理会根据用户输入的内容识别相应的知识库。代理检索相关信息并将这些信息添加到输入提示中。更新后的提示为模型提供了更多上下文信息以生成响应。为了提高透明度并最大限度地减少幻觉，从知识库中检索到的信息可以追溯到其来源。



![\[Amazon Bedrock 代理从知识库中检索信息并将其传递给 LLM。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/retrieval-augmented-generation-options/images/architecture-knowledge-base.png)


Amazon Bedrock APIs 为 RAG 支持以下两个：
+ [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)— 您可以使用此 API 来查询您的知识库并根据其检索到的信息生成响应。在内部，Amazon Bedrock 将查询转换为嵌入式，查询知识库，使用搜索结果作为上下文信息来增加提示，然后返回 LLM 生成的响应。Amazon Bedrock 还管理对话的短期记忆，以提供更符合情境的结果。
+ [检索](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)-您可以使用此 API 来查询您的知识库，其中包含直接从知识库中检索的信息。您可以使用从此 API 返回的信息来处理检索到的文本，评估其相关性，或者开发用于生成响应的单独工作流程。在内部，Amazon Bedrock 会将查询转换为嵌入内容，搜索知识库并返回相关结果。您可以在搜索结果之上构建其他工作流程。例如，您可以使用该[https://python.langchain.com/docs/integrations/retrievers/bedrock/](https://python.langchain.com/docs/integrations/retrievers/bedrock/)`AmazonKnowledgeBasesRetriever`插件将 RAG 工作流程集成到生成式 AI 应用程序中。

有关架构模式示例和使用 step-by-step说明 APIs，请参阅[知识库现在在 Amazon Bedrock 中提供完全托管的 RAG 体验](https://aws.amazon.com/blogs/aws/knowledge-bases-now-delivers-fully-managed-rag-experience-in-amazon-bedrock/)（AWS 博客文章）。有关如何使用 `RetrieveAndGenerate` API 为基于聊天的智能应用程序构建 RAG 工作流程的更多信息，请参阅[使用 Amazon Bedrock 知识库构建上下文聊天机器人应用程序](https://aws.amazon.com/blogs/machine-learning/build-a-contextual-chatbot-application-using-knowledge-bases-for-amazon-bedrock/)（博客文章）。AWS 

## 知识库的数据来源
<a name="rag-fully-managed-bedrock-data-sources"></a>

您可以将您的专有数据连接到知识库。配置数据源连接器后，您可以将数据与知识库同步或保持最新状态，并使您的数据可供查询。Amazon Bedrock 知识库支持与以下数据源的连接：
+ [亚马逊简单存储服务 (Amazon S3) S](https://docs.aws.amazon.com/bedrock/latest/userguide/s3-data-source-connector.html) imple Service — 您可以使用控制台或 API 将亚马逊 S3 存储桶连接到亚马逊 Bedrock 知识库。知识库会提取存储桶中的文件并将其编入索引。这种类型的数据源支持以下功能：
  + **文档元数据字段**-您可以包含一个单独的文件来指定 Amazon S3 存储桶中文件的元数据。然后，您可以使用这些元数据字段来筛选和提高响应的相关性。
  + **包含或排除过滤器**-您可以在抓取时包含或排除某些内容。
  + **增量同步**-跟踪内容更改，并且仅抓取自上次同步以来发生更改的内容。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html)— 您可以使用控制台或 API 将Atlassian Confluence实例连接到 Amazon Bedrock 知识库。这种类型的数据源支持以下功能：
  + **自动检测主文档字段**-自动检测和搜索元数据字段。您可以使用这些字段进行筛选。
  + **包含或排除内容过滤器**-您可以通过在空间、页面标题、博客标题、评论、附件名称或扩展名上使用前缀或正则表达式模式来包含或排除某些内容。
  + **增量同步**-跟踪内容更改，并且仅抓取自上次同步以来发生更改的内容。
  + **OAuth 2.0 身份验证，使用 Confluence API 令牌**进行身份验证-身份验证凭据存储在 AWS Secrets Manager。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html)— 您可以使用控制台或 API 将SharePoint实例连接到知识库。这种类型的数据源支持以下功能：
  + **自动检测主文档字段**-自动检测和搜索元数据字段。您可以使用这些字段进行筛选。
  + **包含或排除内容过滤器**-您可以通过在主页标题、事件名称和文件名（包括其扩展名）上使用前缀或正则表达式模式来包含或排除某些内容。
  + **增量同步**-跟踪内容更改，并且仅抓取自上次同步以来发生更改的内容。
  + **OAuth 2.0 身份验证**-身份验证凭据存储在 AWS Secrets Manager。
+ [https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html](https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html)— 您可以使用控制台或 API 将Salesforce实例连接到知识库。这种类型的数据源支持以下功能：  
  + **自动检测主文档字段**-自动检测和搜索元数据字段。您可以使用这些字段进行筛选。
  + **包含或排除内容过滤器**-您可以使用前缀或正则表达式模式包含或排除某些内容。有关您可以应用筛选条件的内容类型列表，请参阅 A [ma](https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector) zon Bedrock 文档中的*包含/排除筛选条件*。
  + **增量同步**-跟踪内容更改，并且仅抓取自上次同步以来发生更改的内容。
  + **OAuth 2.0 身份验证**-身份验证凭据存储在 AWS Secrets Manager。
+ [Web Crawler](https://docs.aws.amazon.com/bedrock/latest/userguide/webcrawl-data-source-connector.html) — Amazon Bedrock Web Crawler 连接并抓取您提供的内容。 URLs 支持以下功能：
  + 选择多个 URLs 进行爬行
  + 遵守标准的 robots.txt 指令，例如`Allow`和 `Disallow`
  + 排除与模式 URLs 相匹配的内容
  + 限制爬行速度
  + 在 Amazon 中 CloudWatch，查看已抓取的每个网址的状态

有关可以连接到 Amazon Bedrock 知识库的数据源的更多信息，请参阅[为您的知识库创建数据源连接器](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html)。

## 知识库的矢量数据库
<a name="rag-fully-managed-bedrock-vector-stores"></a>

在知识库和数据源之间建立连接时，必须配置矢量数据库，也称为*矢量存储*。矢量数据库是 Amazon Bedrock 存储、更新和管理代表您的数据的嵌入内容的地方。每个数据源都支持不同类型的矢量数据库。要确定哪个矢量数据库可用于您的数据源，请参阅[数据源类型](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html)。

如果您希望让 Amazon Bedrock 在 Amazon OpenSearch Serverless 中自动为您创建矢量数据库，则可以在创建知识库时选择此选项。但是，您也可以选择建立自己的矢量数据库。如果您设置了自己的矢量数据库，请参阅[自己的矢量存储的先决条件以获取知识库](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html)。每种类型的矢量数据库都有自己的先决条件。

根据您的数据源类型，Amazon Bedrock 知识库支持以下矢量数据库：
+ [Amazon OpenSearch 无服务器](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html)
+ [Amazon Aurora PostgreSQL 兼容版](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html)
+ [https://docs.pinecone.io/docs/amazon-bedrock](https://docs.pinecone.io/docs/amazon-bedrock)（Pinecone 文档）
+ [https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/)（Redis 文档）
+ [https://dochub.mongodb.org/core/amazon-bedrock](https://dochub.mongodb.org/core/amazon-bedrock)（MongoDB 文档）

# Amazon Q Business
<a name="rag-fully-managed-q-business"></a>

[Amazon Q Busines](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html) s 是一款完全托管的、基于 Generative AI 的助手，您可以将其配置为根据企业数据回答问题、提供摘要、生成内容和完成任务。它允许最终用户从企业数据源收到带有引文的即时权限感知响应。

## 主要 功能
<a name="rag-fully-managed-q-business-features"></a>

Amazon Q Business 的以下功能可以帮助您构建基于 RAG 的生产级生成式 AI 应用程序：
+ **内置连接器** — Amazon Q Business 支持 40 多种类型的连接器，例如、Adobe Experience Manager (AEM)SalesforceJira、和的连接器Microsoft SharePoint。有关完整列表，请参阅[支持的连接器](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/connectors-list.html)。如果您需要不支持的连接器，则可以使用[亚马逊将数据源中的数据提取 AppFlow到亚马逊](https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html)简单存储服务 (Amazon S3) Simple Storage Service，然后将 Amazon Q Business 连接到 Amazon S3 存储桶。有关 Amazon AppFlow 支持的数据源的完整列表，请参阅[支持的应用程序](https://docs.aws.amazon.com/appflow/latest/userguide/app-specific.html)。
+ **内置索引管道** — Amazon Q Business 为向量数据库中的数据编制索引提供了内置管道。您可以使用 AWS Lambda 函数为索引管道添加预处理逻辑。
+ **索引选项** — 您可以在 Amazon Q Business 中创建和配置原生索引，并使用 Amazon Q Business 检索器从该索引中提取数据。或者，您可以使用预先配置的 Amazon Kendra 索引作为检索器。有关更多信息，请参阅为 [Amazon Q Business 应用程序创建检索](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/select-retriever.html)器。
+ **基础模型** — 亚马逊 Q Business 使用 Amazon Bedrock 支持的基础模型。有关完整列表，请参阅 [Amazon Bedrock 中支持的基础模型](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)。
+ **插件** — Amazon Q Business 提供了使用插件与目标系统集成的功能，例如自动汇总工单信息和创建工单Jira。配置完成后，插件可以支持读取和写入操作，从而帮助您提高最终用户的工作效率。Amazon Q Business 支持两种类型的插件：[内置插件](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/built-in-plugin.html)和[自定义插件](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/custom-plugin.html)。
+ **护栏 —** Amazon Q Business 支持全局控制和主题级控制。例如，这些控件可以检测提示中的个人身份信息 (PII)、滥用信息或敏感信息。有关更多信息，请参阅 [Amazon Q Business 中的管理员控制和护栏](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html)。
+ **身份管理** — 借助 Amazon Q Business，您可以管理用户及其对基于 RAG 的生成式 AI 应用程序的访问权限。有关更多信息，请参阅 [Amazon Q Business 的身份和访问管理](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/security-iam.html)。此外，Amazon Q Business 连接器还会索引与文档本身一起附加到文档的访问控制列表 (ACL) 信息。然后，Amazon Q Business 将其索引的 ACL 信息存储在 Amazon Q Business 用户商店中，以创建用户和群组映射，并根据最终用户对文档的访问权限筛选聊天响应。有关更多信息，请参阅[数据源连接器概念](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/connector-concepts.html)。
+ **文档扩充**-文档扩充功能可帮助您控制将**哪些**文档和文档属性提取到索引中，以及它们的摄取**方式**。这可以通过两种方法来实现：
  + **配置基本操作**-使用基本操作在数据中添加、更新或删除文档属性。例如，您可以通过选择删除任何与 PII 相关的文档属性来清理 PII 数据。
  + **配置 Lambda 函数**-使用预配置的 Lambda 函数对数据执行更自定义、更高级的文档属性操作逻辑。例如，企业数据可能以扫描图像的形式存储。在这种情况下，您可以使用 Lambda 函数对扫描的文档运行光学字符识别 (OCR)，以从中提取文本。然后，在摄取过程中，每个扫描的文档都作为文本文档处理。最后，在聊天期间，Amazon Q 将在生成响应时考虑从扫描文档中提取的文本数据。

  在实施解决方案时，您可以选择将两种文档充实方法结合使用。您可以使用基本操作对数据进行首次解析，然后使用 Lambda 函数进行更复杂的操作。有关更多信息，请参阅 [Amazon Q Business 中的文档充实](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/custom-document-enrichment.html)。
+ **集成** — 创建 Amazon Q Business 应用程序后，您可以将其集成到其他应用程序中，例如Slack或Microsoft Teams。例如，请参阅为 Amazon [Q Business 部署Slack网关和为 Ama](https://aws.amazon.com/blogs/machine-learning/deploy-a-slack-gateway-for-amazon-q-your-business-expert/) [zon Q Business 部署Microsoft Teams网关](https://aws.amazon.com/blogs/machine-learning/deploy-a-microsoft-teams-gateway-for-amazon-q-your-business-expert/)（AWS 博客文章）。

## 终端用户定制
<a name="rag-fully-managed-q-business-customization"></a>

Amazon Q Business 支持上传可能未存储在贵组织数据源和索引中的文档。上传的文档不会被存储。它们仅可用于上传文档的对话。Amazon Q Business 支持上传特定类型的文档。有关更多信息，请参阅[在 Amazon Q Business 中上传文件和聊天](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/upload-chat-files.html)。

Amazon Q Business 包含[按文档属性筛选](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/metadata-filtering.html)功能。管理员和最终用户都可以使用此功能。管理员可以使用属性为最终用户自定义和控制聊天响应。例如，如果数据来源类型是附加到文档的属性，您可以指定仅从特定数据来源生成聊天回复。或者，您可以允许最终用户使用您选择的属性过滤器来限制聊天回复的范围。

最终用户可以在更广泛的 A [mazon Q Business 应用程序](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/purpose-built-qapps.html)环境中创建轻量级、专门构建的 Amazon Q 应用程序。Amazon Q 应用程序允许对特定域进行任务自动化，例如为营销团队设计的专用应用程序。

# 亚马逊 A SageMaker I Canvas
<a name="rag-fully-managed-sagemaker-canvas"></a>

[Amazon SageMaker AI Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) 可帮助您使用机器学习生成预测，而无需编写任何代码。它提供了一个无需代码的可视化界面，使您能够准备数据、构建和部署机器学习模型，从而在统一的环境中简化 end-to-end机器学习生命周期。数据准备、模型开发、偏差检测、可解释性和监控的复杂性被抽象到直观的界面背后。用户无需成为 SageMaker AI 或机器学习运营 (MLOps) 专家，即可使用 AI Canv SageMaker as 开发、操作和监控模型。

在 A SageMaker I Canvas 中，RAG 功能是通过无代码的文档查询功能提供的。您可以使用 Amazon Kendra 索引作为底层企业搜索来丰富 A SageMaker I Canvas 中的聊天体验。有关更多信息，请参阅[通过文档查询从文档中提取信息](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat-query.html)。

将 SageMaker AI Canvas 连接到 Amazon Kendra 索引需要一次性设置。作为域配置的一部分，云管理员可以选择一个或多个 Kendra 索引，供用户在与 Canvas 交互时查询。 SageMaker 有关如何启用文档查询功能的说明，请参阅 [Amazon A SageMaker I Canvas 使用入门](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)。

SageMaker AI Canvas 管理亚马逊 Kendra 与所选基础模型之间的底层通信。有关 SageMaker AI Canvas 支持的基础模型的更多信息，请参阅 A [I Canvas 中的生成式 SageMaker AI 基础模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html)。下图显示了云管理员将 SageMaker AI Canvas 连接到 Amazon Kendra 索引后，文档查询功能的工作原理。



![\[Amazon A SageMaker I Canvas 中文档查询功能的工作流程。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/retrieval-augmented-generation-options/images/architecture-sagemaker-canvas-document-querying.png)


下图显示了如下工作流：

1. 用户在 SageMaker AI Canvas 中开始新的聊天，打开**查询文档**，选择目标索引，然后提交问题。

1. SageMaker AI Canvas 使用该查询在 Amazon Kendra 索引中搜索相关数据。

1. SageMaker AI Canvas 从亚马逊 Kendra 索引中检索数据及其来源。

1. SageMaker AI Canvas 更新提示以包含从 Amazon Kendra 索引中检索到的上下文，并将提示提交给基础模型。

1. 基础模型使用原始问题和检索到的上下文来生成答案。

1. SageMaker AI Canvas 向用户提供生成的答案。它包括对用于生成响应的数据源（例如文档）的引用。