通过 Amazon Q S3 连接器发现 Amazon S3 的见解nbsp 机器学习博客

从 Amazon S3 收集洞见:使用 Amazon Q S3 连接器

在 2024 年 7 月 24 日,Kruthi Jayasimha Rao、Dipti Kulkarni、Keagan Mirazee 和 Vijai Gandikota 发表在 Amazon Q 的文章中。

重点概述

本文探讨了如何通过 Amazon Q S3 连接器配置 Amazon Q,以从 Amazon S3 中获得有价值的洞见。通过将生成式 AI 集成到企业数据中,用户可以更快速地获取信息,提升决策的效率。文章详细介绍了配置步骤、访问控制和数据同步等关键功能。

Amazon Q 是一款完全托管的生成式人工智能助手,可以根据企业中的数据配置以回答问题、提供摘要、生成内容、获取洞见和完成任务。企业所需的生成式 AI 助手数据可以存储在组织内的多个不同存储库中。其中之一就是 Amazon Simple Storage Service (Amazon S3),它是一种以对象形式将数据存储在存储桶中的对象存储服务。各行各业的客户都可以安全地索引来自不同数据源的数据,如文档库、网站、内容管理系统、客户关系管理系统和消息应用程序等。

通过 Amazon Q S3 连接器发现 Amazon S3 的见解nbsp 机器学习博客

为了构建具有生成式 AI 的对话应用程序,企业需要整合含有相关内容的数据源,并为此投入时间、资金和人员。这需要建立数据源连接器,并对数据进行索引,以便采用检索增强生成RAG方法,高精度地将相关段落传递至大型语言模型LLM。要做到这一点,需选择能支持语义和向量搜索的索引,构建数据检索、答案排名和功能丰富的 Web 应用的基础设施。同时,还需招聘和组建庞大的团队以建设、维护和管理这样的系统。

Amazon Q Business 是一款完全托管的生成式 AI 驱动助手,能根据企业系统中的数据和信息回答问题、提供摘要、生成内容并安全完成任务。它帮助用户快速获取对紧迫问题的相关答案、解决问题、生成内容并采取行动,利用公司信息库、代码和企业系统如 Atlassian Jira 等中的数据和专业知识。为此,Amazon Q 提供了本地数据源连接器,可以将内容索引到内置检索器中,并利用 LLM 提供准确且写得好的答复。Amazon Q 中的数据源连接器有助于从多个存储库集成和同步数据到一个索引中。

现在,您可以使用 Amazon Q S3 连接器对 S3 上的数据进行索引,并构建一个生成式 AI 助手,从存储的数据中获取洞见。Amazon Q 通过分析访问内容,为用户的自然语言查询生成全面的响应。同时,Amazon Q 还支持数据的访问控制,以确保正确的用户能够访问合适的内容。它对问题的回答基于终端用户有权限访问的内容。

本文展示了如何配置 Amazon Q S3 连接器,并通过创建生成式 AI 驱动的对话体验来获取洞见,利用访问控制列表ACL限制基于用户权限的文档访问。

使用 Amazon Q Business 从 S3 内容中获得准确答案

在将 Amazon Q Business 与 Amazon S3 集成后,用户可以询问 S3 中存储内容的问题。例如,用户可能询问云安全博客文章中的要点、用户指南中的安装步骤、混合云使用案例研究的发现、分析报告中提到的市场趋势,或对数据加密白皮书的关键收获。这种集成帮助用户快速找到所需的信息,改善其理解能力并做出更明智的商业决策。

使用 ACL 爬行和身份爬行进行安全查询

安全查询是当用户运行查询时,返回的答案仅限于用户有权访问的文档,而不会返回相应文档之外的信息。为了使用户能够进行安全查询,Amazon Q Business 遵循文档的 ACL。Amazon Q Business 首先支持 ACL 的索引,文档索引时需要考虑 ACL,确保数据的安全性,因为没有 ACL 的文档会被视为公共的。其次,在查询时,用户的凭证电子邮件地址与查询一起传递,从而仅显示与查询相关且用户有权限访问的文档的答案。

文档的 ACL 包含在与文档一起存储的 metadatajson 或 acljson 文件中,详细列出用户的电子邮件地址和本地组。

用户登录 Web 应用程序进行搜索时,其凭证例如电子邮件地址需要与文档的 ACL 中的一致,以从该文档中返回结果。用户用于检索答案的 Web 应用程序将连接到身份提供者IdP或 AWS IAM 身份中心。用户的凭证被称为 联合用户凭证,与查询一起传递,以便 Amazon Q 仅返回该用户可以访问的文档答案。但是,在某些情况下,用户的联合凭证可能在 S3 桶的 ACL 中缺失。在这种情况下,仅在文档的 ACL 中指定用户的本地别名和本地组。因此,有必要将这些联合用户凭证映射到文档 ACL 中相应的本地用户别名和本地组。

没有显式的 ACL 拒绝条款的任何文档或文件都会被视为公共文件。

解决方案概述

作为 Amazon Q 的管理员用户,设置生成式 AI 聊天应用程序的高层次步骤是创建 Amazon Q 应用程序,连接不同的数据源,最后部署 Web 体验。Amazon Q Web 体验是您使用 Amazon Q 应用程序创建的聊天界面。然后,用户可以与其组织的 Amazon Q Web 体验进行聊天,并可以与 IAM 身份中心集成。您可以通过 AWS 管理控制台或 Amazon Q API 配置和自定义 Amazon Q Web 体验。

Amazon Q 理解并尊重现有身份、角色和权限,并利用这些信息来个性化其交互。如果用户没有权限访问没有 Amazon Q 的数据,则他们也无法使用 Amazon Q 访问。以下表格列出了我们用例中各个用户被授权可以访问的文档。此示例中使用的文档是一部分 AWS 公共文档。本文中,我们将关注用户 Arnav访客、Mary 和 Pat 及其分配的组。

名姓组授权访问的文档类型1ArnavDesai2PatCandella客户3JaneDoe销售4JohnStiles市场营销5MaryMajor解决方案架构师

架构图

下图展示了解决方案的架构。Amazon S3 是数据源,文档及其 ACL 信息将从 S3 传递给 Amazon Q。用户向 Amazon Q 应用程序提交查询,Amazon Q 检索用户和组的信息,并根据用户可访问的文档提供答案。

在接下来的部分中,我们将展示如何实现此架构。

前提条件

在本步教程进行之前,您应具备以下前提条件:

一个 AWS 账户。Amazon S3 和 IAM 身份中心的权限。创建 Amazon Q 应用程序、AWS 资源和 AWS 身份与访问管理 (IAM) 角色和策略的权限。具备基本的 AWS 服务知识和 S3 的工作知识。如果您是第一次使用 Amazon Q Business,请遵循为 Amazon Q Business 设置准备的步骤。

准备您的 S3 桶作为数据源

在 AWS 区域列表中,选择 美国东部弗吉尼亚北部作为区域。您可以选择 Amazon Q 可用的任何区域,但确保在创建所有其他资源时保持在相同区域。要准备 S3 桶作为数据源,请 创建一个 S3 桶。注意 S3 桶的名称。用桶的名称替换命令中的 lt REPLACEWITHNAMEOFS3BUCKETgt。在带有 AWS 命令行界面 (AWS CLI) 或 AWS CloudShell 的终端中,运行以下命令将文档上传到数据源桶:

aws s3 cp s3//awsmlblog/artifacts/buildingasecuresearchapplicationwithaccesscontrolskendra/docszip

unzip docszip

aws s3 cp Data/ s3///Data/ recursive

aws s3 cp Meta/ s3///Meta/ recursive

被查询的文档存储在 S3 桶中。每种文档类型都有一个单独的文件夹:博客、案例研究、分析报告、用户指南和白皮书。此文件夹结构包含在名为 Data 的文件夹中,如下所示:

S3 中的每个对象均视为一个文档。任何 ltobjectnamegtmetadatajson 文件和访问控制列表 (ACL) 文件均视为所在对象的元数据,而不作为单独文档处理。在本示例中,元数据文件包括 ACL位于名为 Meta 的文件夹中。我们使用 Amazon Q S3 连接器将此 S3 桶配置为数据源。当数据源与 Amazon Q 索引同步时,它会爬取和索引所有文档,并从元数据文件中收集 ACL 和文档属性。有关使用元数据文件的 ACL 的更多信息,请参见 Amazon S3 文档元数据。以下是示例元数据 JSON 文件:

json{ Attributes { DocumentType userguides } AccessControlList [ { Access ALLOW Name customer Type GROUP } { Access ALLOW Name AWSSales Type GROUP } { Access ALLOW Name AWSMarketing Type GROUP } { Access ALLOW Name AWSSA Type GROUP } ]}

在 IAM 身份中心中创建用户和组

在本节中,您将创建以下映射进行演示:

用户 组名1 Arnav 2 Pat customer3 Mary AWSSA

创建用户:

打开 AWS IAM 身份中心

如果您尚未启用 IAM 身份中心,请选择 启用。如果出现弹出窗口,请选择要启用 IAM 身份中心的方式。在本示例中,选择 仅在此 AWS 账户中启用。选择 继续。

在 IAM 身份中心仪表板上,在导航窗格中选择 用户。

选择 添加用户。输入用户详细信息: 用户名 : marymajor

电子邮件地址 : marymajor@examplecom注意:为每个用户使用或创建一个真实的电子邮件地址,以便在后续步骤中使用。

名 : Mary

姓 : Major

显示名 : Mary Major

跳过可选字段,选择 下一步 来创建用户。

在 将用户添加到组 页面上,选择 下一步,然后选择 添加用户。按照相同步骤为 Pat 和 Arnav访客用户 创建用户。(稍后您将为用户分配组。)

创建组:

现在,您将创建两个组:AWSSA 和 customer。选择导航窗格中的 组 并选择 创建组。

为组名称输入 AWSSA,将用户 Mary 添加到该组,并选择 创建组。

同样,创建一个名为 customer 的组,将用户 Pat 添加,并选择 创建组。

现在,为用户添加多因素身份验证,方法是遵循向用户电子邮件发送的说明。有关更多详细信息,请参阅 为身份中心用户启用多因素身份验证。完成后,您将在 IAM 身份中心中建立用户和组。

创建和配置您的 Amazon Q 应用程序

在此步骤中,您将创建一个 Amazon Q 应用程序,为对话 Web 体验提供支持:

在 Amazon Q 的 AWS 管理控制台 中,在区域列表中选择美国东部弗吉尼亚北部。

在 开始使用 页面,选择 启用身份感知会话。启用后,应显示 Amazon Q 连接到 IAM 身份中心。选择 订阅 Q Business。

在 Amazon Q Business 控制台中,选择 开始使用。

在 应用程序 页面,选择 创建应用程序。

在 创建应用程序 页面,输入 应用名称,并保留其余默认值。

蓝鲸加速器官网下载

选择 创建。

在 选择检索器 页面,针对 检索器,选择 使用本地检索器。

选择 下一步。这将带您进入 连接数据源。

配置 Amazon S3 作为数据源

在本节中,您将经历添加 S3 连接器的示例。S3 连接器包括博客、用户指南、案例研究、分析报告和白皮书

监控语音通信:使用 CloudWatch 为 Amazon Chime SDK 语音连接器构建仪表板
监控语音通信:使用 CloudWatch 为 Amazon Chime SDK 语音连接器构建仪表板

构建 Amazon Chime SDK 语音通信监控仪表板关键要点在本文中,我们将探讨如何使用 Amazon CloudWatch 创建一个 Amazon Chime SDK 语音连接器的监控仪表板。通过这个仪表板,您可以实时监控语音质量、资源和容量、成本优化、合规性等多个关键指标,从而确保高质量的...