使用 Amazon Bedrock 知识库构建可扩展、安全和可靠的 RAG 应用程序 机器学习博客

使用 Amazon Bedrock 构建可扩展、安全和可靠的 RAG 应用程序

关键要点

在本文中,我们讨论了使用 Amazon Bedrock 知识库构建企业级 RAG(检索增强生成)应用程序的重要原则与最新功能。通过将这些应用与 AWSWell-Architected 框架对齐,组织可以实现可扩展性、安全性和可靠性。以下是本文的要点:

  • AWS CloudFormation 支持 :通过基础设施即代码的方式管理知识库资源。
  • 私有网络策略 :确保数据安全及网络隔离。
  • 支持多个 S3 桶作为数据源 :增强数据的多样性和准确性。
  • 服务配额支持 :有效管理 API 请求和资源使用。

生成式人工智能(GenerativeAI)正在各大组织中快速崛起,许多企业正在探索其潜在应用。伴随成功的概念验证(NP)进入生产阶段,企业对可扩展的企业级解决方案需求愈发迫切。然而,要确保这些 AI 驱动解决方案的长期成功与可行性,必须将其与成熟的架构原则结合起来。

AWS Well-Architected 框架提供了一系列最佳实践和指导方针,旨在帮助设计和运营可靠、安全、高效和具成本效益的云系统。将生成式 AI应用与此框架对齐至关重要,原因包括提供可扩展性、维持安全性和隐私性、实现可靠性、优化成本和简化操作。采纳这些原则对于希望利用生成式 AI力量并推动创新的组织而言,至关重要。

本文将探讨 Amazon Bedrock 知识库的新企业级功能以及它们与 AWS Well-Architected 框架的对齐情况。借助于 AmazonBedrock 知识库,您可以快速构建基于检索增强生成(RAG)的应用,用于问答、上下文聊天机器人和个性化搜索等用例。

以下是我们将涵盖的一些功能:

  1. AWS CloudFormation 支持
  2. Amazon OpenSearch Serverless 的私有网络策略
  3. 多个 S3 桶作为数据源
  4. 服务配额支持
  5. 混合搜索、基于元数据的过滤器、自定义提示以及最大检索数量的RetrieveAndGenerate API。

AWS Well-Architected 设计原则

基于 RAG 的应用可以通过遵循 获得极大的利益。此框架有六个支柱,帮助组织确保其应用的安全性、高性能、弹性、效率、成本效益与可持续性:

  • 运营卓越 - Well-Architected 原则简化操作、自动化流程,并能够持续监控和改善生成式 AI 应用的性能。
  • 安全性 - 实施强大的访问控制、加密和监控有助于保护组织知识库中使用的敏感数据,并防止生成式 AI 被滥用。
  • 可靠性 - Well-Architected 原则指导设计出具有弹性和容错能力的系统,确保向用户持续提供价值。
  • 性能优化 - 选择适当的资源、实施缓存策略、主动监控性能指标,确保应用提供快速准确的响应,从而提升性能并改善用户体验。
  • 成本优化 - Well-Architected 指南有助于优化资源使用、利用节省成本的服务并监控开支,确保生成式 AI 项目的长期可行性。
  • 可持续性 - Well-Architected 原则促进高效的资源利用,减少碳足迹,关注生成式 AI 使用增长对环境的影响。

通过与 Well-Architected 框架对齐,组织可以有效构建和管理使用 Amazon Bedrock 知识库的企业级 RAG应用。接下来,让我们深入了解在 Amazon Bedrock 知识库中推出的新功能。

AWS CloudFormation 支持

对于构建 RAG应用的组织来说,提供高效和有效的操作以及在不同环境中一致的基础设施至关重要。可以通过实施诸如自动化部署流程等实践来实现这一点。为此,AmazonBedrock 知识库现在支持 。

通过 AWS CloudFormation 和 (AWS CDK),您现在可以创建、更新和删除知识库及相关数据源。采用 AWSCloudFormation 和 AWS CDK 管理知识库及相关数据源不仅简化了部署流程,还促进了对 Well-Architected原则的遵循。通过将操作(应用程序、基础设施)作为代码执行,您可以在多个 AWS 账户和地区提供一致可靠的部署,并维护版本化和可审计的基础设施配置。

以下是一个用于在 Amazon Bedrock 中创建和更新知识库的 :

json { "Type" : "AWS::Bedrock::KnowledgeBase", "Properties" : { "Name": String, "RoleArn": String, "Description": String, "KnowledgeBaseConfiguration": { "Type" : String, "VectorKnowledgeBaseConfiguration" : VectorKnowledgeBaseConfiguration }, "StorageConfiguration": StorageConfiguration, } }

Type 指定知识库作为顶级模板中的资源。您至少需要指定以下属性:

  • Name - 指定知识库的名称。
  • RoleArn - 指定具有调用知识库 API 操作权限的 (IAM)角色的 Amazon 资源名称(ARN)。有关详细信息,请参阅 。
  • KnowledgeBaseConfiguration - 指定知识库的嵌入配置。以下子属性为必填:
  • Type - 指定值为 VECTOR
  • VectorKnowledgeBaseConfiguration - 包含用于创建知识库向量嵌入的模型的详细信息。
  • StorageConfiguration - 指定存储数据源信息的向量存储 。以下子属性为必填:
  • Type - 指定您使用的向量存储服务。
  • 您还需要选择知识库支持的一个向量存储,如 OpenSearchServerless、Pinecone 或 Amazon PostgreSQL,并提供所选向量存储的配置。

有关所有字段及配置各种知识库支持的向量存储的详细信息,请参考 的文档。

截至目前,Redis Enterprise Cloud 向量存储在 AWS CloudFormation 中不被支持。如需最新信息,请参考上述文档。

在您创建知识库后,您需要从包含知识库文件的 (AmazonS3)桶中创建数据源。它调用 CreateDataSourceDeleteDataSource API。

以下是另一个数据源的 :

json { "Type" : "AWS::Bedrock::DataSource", "Properties" : { "KnowledgeBaseId": String, "Name": String, "RoleArn": String, "Description": String, "DataSourceConfiguration": { "S3Configuration" : S3DataSourceConfiguration, "Type" : String }, "ServerSideEncryptionConfiguration": ServerSideEncryptionConfiguration, "VectorIngestionConfiguration": VectorIngestionConfiguration } }

Type 指定数据源作为顶级模板中的资源。您至少需要指定以下属性:

  • Name - 指定数据源的名称。
  • KnowledgeBaseId - 指定数据源所属的知识库的 ID。
  • DataSourceConfiguration - 指定包含数据源的 S3 桶的信息。以下子属性为必填:
  • Type - 指定值为 S3。
  • S3Configuration - 包含有关 S3 对象配置的详细信息。
  • VectorIngestionConfiguration - 包含有关如何摄取数据源中文档的详细信息。您需要提供 “” 以定义您的分块策略。
  • ServerSideEncryptionConfiguration - 包含服务器端加密的配置,您可以提供用于加密资源的 AWS KMS 密钥的 Amazon 资源名称(ARN)。

有关在 Amazon Bedrock 中设置数据源的更多信息,请参见 。

注意:创建数据源后无法更改分块配置。

CloudFormation模板允许您使用基础设施即代码(IaC)来定义和管理知识库资源。通过自动化设置和管理知识库,您可以在不同环境中提供一致的基础设施。这种方法与运营卓越支柱相符,强调将操作视为代码。通过将整个工作负载视为代码,您可以自动化流程、创建一致的事件响应,并最终减少人为错误。

Amazon OpenSearch Serverless 的私有网络策略

对于构建 RAG 应用的公司来说,确保数据安全以及网络流量不外泄至公共互联网至关重要。为了支持这一点,Amazon Bedrock 知识库现在支持用于 的私有网络策略。

Amazon Bedrock 知识库提供了使用 OpenSearch Serverless 作为向量存储的选项。您现在可以访问具有私有网络策略的 OpenSearch Serverless 集合,这进一步增强了 RAG 应用的安全态势。为此,您需要创建一个 OpenSearch Serverless集合,并将其配置为私有网络访问。首先,在集合内创建一个向量索引以存储嵌入。然后,在创建集合时,将 网络访问设置 设置为 私有 并指定用于访问的 VPC 终端节点。重要的是,您现在可以为 Amazon Bedrock 提供 集合的私有网络访问。为此,请选择 AWS服务私有访问 并指定 bedrock.amazonaws.com 作为服务。

删除)

此私有网络配置确保您的嵌入安全存储,仅能通过 Amazon Bedrock 访问,增强了知识库的整体安全性和隐私性。这与 安全支柱 的全部层面控制网络流量密切相符,因为所有网络流量均保留在 AWS 主干网络中。

到目前为止,我们已经探讨了创建、删除和更新知识库资源的自动化,以及通过私有网络策略增强的数据安全性,以安全存储向量嵌入。现在,让我们了解如何构建更可靠、全面和成本优化的 RAG 应用。

多个 S3 桶作为数据源

Amazon Bedrock 知识库现在支持将多个 S3桶作为单一知识库的数据源,包括跨账户访问。这一增强功能提升了知识库的全面性与准确性,使用户可无缝聚合和使用来自各种来源的信息。

以下是主要特点:

  • 多个 S3 桶 - Amazon Bedrock 知识库现在可以整合来自多个 S3 桶的数据,使用户能够轻松地组合和使用来自不同来源的信息。此功能促进了数据多样性,确保相关信息随时可用于基于 RAG 的应用。
  • 跨账户数据访问 - Amazon Bedrock 知识库支持将 S3 桶配置为来自不同账户的数据源。您可以提供所需凭证来访问这些数据源,扩大可纳入其知识库的信息范围。
  • 高效的数据管理 - 在设置知识库的数据源时,您可以指定如果删除该数据源,数据源中的数据是保留还是删除。此功能确保您的知识库保持最新,消除过时或无关的数据,从而维护 RAG 过程的完整性与准确性。

通过支持多个 S3 桶作为数据源,可以避免创建多个知识库或冗余数据副本,从而优化成本,促进云财务管理。此外,跨账户访问能力使得具韧性的架构得以开发,符合 AWS Well-Architected 框架的可靠性支柱,提供高可用性和容错能力。

知识库的其他新功能

为了进一步增强您的 RAG 应用的可靠性,Amazon Bedrock 知识库现在扩展支持 服务配额 。此功能提供了一个单一视图,查看已应用的 AWS 配额值和使用情况。例如,您现在可以快速访问每秒允许的 ``RetrieveAndGenerate` API 请求数量等信息。

此功能使您能够有效管理资源配额,防止过度分配,限制 API 请求速率,以保护服务免受潜在滥用。

您还可以通过使用近期宣布的功能来提高应用程序的性能,例如 、 、 。这些功能共同改善了生成响应的准确性、相关性和一致性,并与 AWS Well-Architected 框架的性能效率支柱相一致。

Amazon Bedrock 知识库通过使用托管服务和优化资源利用,符合 AWS Well-Architected框架的可持续性支柱。作为一项完全托管的服务,Amazon Bedrock知识库消除了配置、管理和扩展底层基础设施的负担,从而减少了与运行和维护这些资源相关的环境影响。

此外,通过与 AWS Well-Architected 原则对齐,组织可以以可持续的方式设计和运营他们的 RAG 应用程序。诸如通过 AWSCloudFormation 自动化部署、实施私有网络策略以确保安全数据访问,以及利用像 OpenSearch Serverless这样的高效服务,有助于减少这些工作负载对环境的影响。

总体而言,Amazon Bedrock 知识库结合 AWS Well-Architected 框架,赋能组织构建可扩展、安全、可靠的 RAG应用,同时通过高效的资源利用和托管服务的采用优先考虑环保的可持续性。

结论

AWS CloudFormation 支持、私有网络策略、将多个 S3 桶作为数据源的能力以及服务配额支持等新企业级功能,使得在 AmazonBedrock 知识库上构建可扩展、安全和可靠的 RAG 应用变得更加简单。利用 AWS 托管服务并遵循 Well-Architected最佳实践,组织可以专注于提供创新的生成式 AI 解决方案,同时实现运营卓越、强大的安全性和高效的资源利用。在 AWS 上构建应用时,将 RAG 应用与 AWS Well-Architected 框架对齐为构建企业级解决方案提供了坚实基础,从而推动商业价值,同时遵循行业标准。

对于额外资源,请参考以下链接:


关于作者

删除)ManiKhanuja** 是技术负责人 — 生成式 AI 专家,著有《应用机器学习与高性能计算在 AWS上》一书,并且是女性制造业教育基金会董事会成员。她领导机器学习项目,涉及计算机视觉、自然语言处理和生成式 AI 等多个领域。曾在 AWSre:Invent、女性制造业西部会议、YouTube 网络研讨会以及 GHC 23 等活动中发言。业余时间她喜欢在海滩长跑。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2

Leave a Reply

Required fields are marked *