在支持GDPR被遗忘权请求中实施Amazon Bedrock知识库 机器学习博客

  • 2026-01-27 13:42:00

Amazon Bedrock 知识库在 GDPR被遗忘权请求中的实施

作者 Yadukishore Tatavarthi Krishna Prasad 和 Rajakumar Sampathkumar日期 2024年5月31日发布于 Amazon Bedrock、最佳实践、合规性、生成式人工智能

关键要点

GDPR的被遗忘权允许个人请求删除组织保存的个人可识别信息PII。 Amazon Bedrock 提供全面管理的服务,可以通过 API 使用各种基石模型。通过 检索增强生成RAG 技术,组织可以安全地针对 GDPR 请求提供合规解决方案。本文将讨论如何使用 Amazon Bedrock 知识库构建符合 GDPR 的 RAG 架构。

欧盟通用数据保护条例GDPR) 的被遗忘权,也称为删除权,赋予个人请求删除组织持有的个人可识别信息PII的权利。这意味着个人可以要求企业从他们的系统及任何共享数据的第三方中删除其个人数据。

Amazon Bedrock 是一个完全管理的服务,通过 API 提供来自领先人工智能AI公司的基础模型 (FM)。借助 Amazon Bedrock 的无服务器体验,用户可以快速入门并使用自己的数据对 FM 进行隐私定制,然后将其集成并部署到自己的应用程序中,而无需管理基础设施。

小熊加速器使用教程

FM 经过大量数据训练,可以用于回答各种主题的问题。然而,如果您希望使用 FM 回答关于存储在 Amazon Simple Storage Service (Amazon S3) 桶中的私有数据的问题,您需要使用称为 检索增强生成RAG 的技术为客户提供相关答案。

Amazon Bedrock 知识库 是一个完全管理的 RAG 功能,允许您用上下文和相关的公司数据定制 FM 响应。Amazon Bedrock 知识库自动化了端到端的 RAG 工作流程,包括数据摄取、检索、提示增强和引用管理,这样您就不需要编写自定义代码来集成数据源和管理查询。

许多组织正在构建 生成式 AI 应用程序,并使用基于 RAG 的架构来避免幻觉,并基于其拥有的专有数据包括个人可识别信息PII数据响应请求。

在本篇文章中,我们讨论了在响应 GDPR 被遗忘权请求时 RAG 架构所面临的挑战,以及如何使用 Amazon Bedrock 知识库构建符合 GDPR 的 RAG 架构模式,并为组织提供可操作的最佳实践,以符合 GDPR 对存储在向量数据存储中的数据的被遗忘权请求要求。

谁需要遵守 GDPR?

GDPR 适用于所有在欧盟设立的组织,以及处理与欧盟个人相关的个人数据的组织,无论其是否在欧盟设立。涉及的个人数据处理可与向数据主体提供商品或服务相关,或与监控发生在欧盟的行为相关。

以下是讨论 GDPR 时使用的一些关键术语:

数据主体 在欧盟或英国的 identifiable 生活人,企业或组织或服务提供者持有其个人数据。处理者 根据控制者的指示处理数据的实体例如,AWS。控制者 确定处理个人数据的目的和手段的实体例如,AWS 客户。个人数据 与已识别或可识别的人相关的信息,包括姓名、电子邮件地址和电话号码。

RAG架构的挑战与考量

典型的 RAG 架构通常涉及以下三个阶段:

数据源预处理使用嵌入 LLM 生成嵌入将嵌入存储在向量存储中。

与这些阶段相关的挑战包括不知道所有数据持久化的接触点,为文档分块维护数据预处理管道,选择分块策略、向量数据库和索引策略,生成嵌入,以及任何手动步骤以从向量存储中清除数据并与源数据保持同步。以下图示表示一个高层次的 RAG 架构。

在支持GDPR被遗忘权请求中实施Amazon Bedrock知识库 机器学习博客

由于 Amazon Bedrock 知识库是一个完全管理的 RAG 解决方案,因此客户数据不会在 Amazon Bedrock 服务账户中永久存储,请求细节没有提示或响应的情况会记录在 Amazon CloudTrail。模型提供者无法访问部署账户中的客户数据。重要的是,如果您从源 S3 桶中删除数据,它将自动从基础向量存储中删除,前提是知识库同步。

但是,请注意,服务账户会保留数据八天;在此之后,数据将从服务账户中清除。这些数据经过服务器端加密SSE进行安全维护,使用服务密钥或可选的客户提供密钥。如果需要立即从服务账户中清除数据,您可以联系 AWS 团队进行处理。这种简化的方法使生成式 AI 应用程序的 GDPR 被遗忘权合规性变得相对容易。

在调用知识库时,使用 RetrieveAndGenerate API,Amazon Bedrock 知识库会为您管理会话和内存。此数据默认使用 SSE 加密,也可以选择使用客户管理的密钥CMK进行加密。管理会话的数据会在 24 小时后自动清除。

以下解决方案讨论了使用 Amazon Bedrock 知识库的参考架构模式和最佳实践,以支持组织在数据主体的被遗忘权请求。

解决方案方法:使用 Amazon Bedrock 知识库简化 RAG 实现

使用知识库,您可以安全地将基础模型FM连接到您的公司数据以实现 RAG。访问额外数据可以帮助模型生成更相关、具有上下文specific 和准确的响应,而无需不断重新训练 FM。来自知识库的信息带有来源归属,以提高透明度并减少幻觉。

Amazon Bedrock 知识库为您管理端到端的 RAG 工作流。您指定数据的位置,选择嵌入模型将数据转换为向量嵌入,并让 Amazon Bedrock 知识库在您帐户中创建一个向量存储来存储向量数据。当您选择此选项仅在控制台中可用时,Amazon Bedrock 知识库将在您的帐户中创建一个 Amazon OpenSearch Serverless 的向量索引,从而消除了您自己进行此操作的需要。

向量嵌入包含文档中文本数据的数字表示。每个嵌入旨在捕捉数据的语义或上下文含义。Amazon Bedrock 负责创建、存储、管理和更新您在向量存储中的嵌入,并验证您的数据与向量存储保持同步。以下图示展示使用 Amazon Bedrock 知识库的简化架构:

创建知识库的前提条件

在您可以创建知识库之前,您必须完成以下前提条件。

数据准备

在使用 Amazon Bedrock 知识库创建知识库之前,准备数据以增强 FM 在 RAG 实施中的效果至关重要。在这个示例中,我们使用了一个简单的经过策划的 csv 文件,其中包含需要删除的客户 PII 信息,以响应数据主体的 GDPR 被遗忘权请求。

配置 S3 桶

您需要 创建一个 S3 桶 并将其设置为私有。Amazon S3 提供多种 加密 选项以确保数据在静止和传输时的安全性。可选地,您可以启用桶版本控制,以便检查同一文件的多个版本。在此示例中,我们创建了一个启用版本控制的桶,名称为 bedrockkbdemogdpr。创建桶后,将 csv 文件上传到桶中。以下屏幕快照展示了上传完成后的样子。

选择上传的文件,然后在 操作 下拉菜单中选择 使用 S3 选择查询 选项,以使用 SQL 查询 csv 数据,检查数据是否加载正确。

以下屏幕快照中,查询显示了 csv 文件中的前五条记录。在此演示中,假设您需要删除与特定客户相关的数据。例如:与电子邮件地址 art@venereorg 相关的客户信息。

创建知识库的步骤

在完成前提条件后,下一步是使用 Amazon Bedrock 知识库创建知识库。

在 Amazon Bedrock 控制台上,在左侧导航窗格中选择 知识库 下的 编排。选择 创建知识库。在 知识库名称 中输入一个名称。在 运行角色 中选择 创建并使用新服务角色,输入服务角色名称,然后选择 下一步!在下一步中,配置数据源,输入数据源名称,并指向在前提条件中创建的 S3 桶。展开 高级设置 部分,选择 使用默认 KMS 密钥,然后在 分块策略 中选择 默认分块。然后选择 下一步!在下一屏幕中选择嵌入模型。在此示例中,我们选择了 Titan Embeddings G1Text v12。在 向量数据库 中,选择 快速创建新的向量存储 推荐,由系统为您设置 OpenSearch Serverless 向量存储。保持所有其他选项为默认值。

选择 审核并创建,在下一屏幕中选择 创建知识库 ,完成知识库设置。

审查摘要页面,选择 数据源 并选择 同步。这将开始将存储在 S3 桶中的数据转换为向量嵌入到您的 OpenSearch Serverless 向量集合中!

注意:同步操作可能需要几分钟到几小时才能完成,具体取决于存储在 S3 桶中的数据集大小。在同步期间,Amazon Bedrock 下载您 S3 桶中的文档,将它们分成块我们在本文中选择了默认策略,生成向量嵌入,并将嵌入存储在您的 OpenSearch Serverless 向量集合中。当初始同步完成时,数据源状态将更改为 准备就绪。现在,您可以使用您的知识库。我们将使用 Amazon Bedrock 的 测试 知识库功能,选择 Anthropic Claude 21 模型,并向其提出有关样本客户的问题。

我们演示了如何使用 Amazon Bedrock 知识库并通过知识库测试功能对数据进行对话式查询。查询操作也可以通过知识库 API 和 AWS SDK 集成,以编程方式完成。

删除客户信息

在示例提示中,我们能够通过电子邮件地址检索客户的 PII 信息,该信息作为源数据集的一部分进行存储。为了响应 GDPR 的被遗忘权请求,下一系列步骤演示了如何在源中删除客户数据,从而使由 Amazon Bedrock 知识库支持的生成式 AI 应用程序中删除信息。

删除源 csv 文件中客户信息部分,并将文件重新上传到 S3 桶。以下的 S3 选择查询快照显示与电子邮件属性 art@venereorg 相关的客户信息未在结果中返回。

再次从 Amazon Bedrock 控制台重新同步知识库数据源。

当同步操作完成并且数据源状态为 准备就绪 后,再次使用早先使用的提示测试知识库,以验证客户 PII 信息是否返回。

我们成功演示了在源 S3 桶中删除客户 PII 信息后,知识库中相关条目在同步操作后被自动删除。我们也可以通过使用开发工具从 OpenSearch 仪表板查询来确认在 OpenSearch Serverless 集合中存储的相关向量嵌入已被清除。

注意 在某些基于 RAG 的架构中,会话历史将保存在