用 Amazon Quick 整合结构化与非结构化数据
Bring structured and unstructured data together with Amazon Quick
AI 导读
Amazon Quick 通过统一体验把结构化数据和非结构化数据接入同一个对话式 AI 智能体:非结构化文档存放在 Amazon S3 并通过知识库建立索引,结构化指标则以带语义描述的数据集形式加载,智能体可将自然语言问题转成 SQL。
摘要与补充说明
用户需先创建 S3 集成与知识库,再建立同时引用两者的 Space,并配置自定义聊天智能体,即可在单次对话中跨两类数据源提问并获得带引用的合并回答。该流程要求使用 Enterprise 订阅账户,S3 存储桶须与 Amazon Quick 位于同一 Region,管理员需在控制台授予 S3 只读权限;知识库创建时是否启用文档级 ACL 一经确定不可更改。
正文· AI 翻译
组织以多种形式收集数据。结构化数据存在于数据库和电子表格中,而非结构化数据则存在于文件系统中存储的文档、报告和文件里。要同时分析两者,通常需要在多个工具之间切换、运行单独的查询,并手动关联结果。
Amazon Quick 通过统一体验解决了这一问题。你可以通过丰富数据集连接结构化数据,并通过由 S3 提供支持的知识库连接非结构化数据。然后,你可以通过单个对话式 AI 代理查询两者。
在本文中,你将学习如何:
- 将 Amazon Simple Storage Service(Amazon S3)连接为数据源并创建知识库。
- 构建一个结合结构化数据和非结构化数据的 Space。
- 创建并配置一个可跨两种数据类型进行查询的自定义聊天代理。
- 在单次对话中提出跨越结构化和非结构化来源的问题。
解决方案架构
下图说明了每个组件如何连接,以通过 Amazon Quick 提供统一的数据体验。
图 1:在 Amazon Quick 中结合结构化数据和非结构化数据的解决方案架构
该架构包含三层:
- 数据层:你的数据以两种形式存在。非结构化内容(文档、PDF、报告)存储在 Amazon S3 中,并通过知识库建立索引。结构化数据(指标、销售数字和运营关键绩效指标)作为丰富数据集加载,并带有语义描述,代理使用这些描述将问题转换为 SQL。
- 工作区层:Space 将两种数据类型汇集到一个工作区中。Space 引用你的知识库进行非结构化查询,并引用你的数据集进行结构化查询。它还可以包含仪表板、文件上传和操作连接器。这一层是来自不同来源的数据汇聚为统一上下文的地方。
- 代理层:自定义聊天代理链接到 Space,并将其用作知识来源。当用户提问时,代理会判断是查询知识库、数据集,还是两者都查询,并返回带有引用的组合响应。Amazon Quick 还会对聊天交互应用内置的AI 护栏,例如内容安全筛查。
通过这种分层方法,你可以随时间扩展解决方案。当你向 Space 添加新数据源时,链接到该 Space 的代理可以使用它,并且响应会遵循提问用户的权限。
先决条件
要跟随本演练操作,你需要:
- 一个 Amazon Quick 账户,且跟随本演练的用户拥有 Enterprise 订阅(创建数据集需要 Enterprise)。有关详细信息,请参阅Amazon Quick 定价。
- 一个用于存放业务文档的 Amazon S3 存储桶。要创建一个,请参阅Amazon S3 用户指南。
- 由 Amazon Quick 管理员授予的Amazon Quick 对 S3 存储桶的访问权限。在管理控制台中,管理员选择 Permissions,然后选择 AWS resources,选择 Amazon S3,再选择 Select S3 buckets。所选存储桶默认具有只读权限。
- 在 Amazon Quick 中创建集成、知识库、数据集、空间和聊天代理的权限。
准备示例数据
本演练使用两种类型的数据:
非结构化文档:将这些文档上传到你的 Amazon S3 存储桶,以供知识库使用:
- AnyCompany_Business_Review.pdf
- AnyCompany_Market_Analysis_Report.pdf
- AnyCompany_Product_Strategy_Memo.pdf
结构化数据:将此文件下载到您的计算机。在第 3 步中,您需要直接将其上传到 Amazon Quick:
第 1 步:创建 Amazon S3 集成
首先将 Amazon Quick 连接到您的 S3 存储桶。在 Amazon Quick 控制台中,选择左侧导航面板中的知识。
知识页面会显示可用的连接器类型,包括 Amazon Q Business、Web Crawler、Amazon S3,以及 Google Drive、OneDrive 和 Microsoft SharePoint 等第三方选项。
在 Amazon S3 下,选择添加。在“创建 S3 知识库”对话框中,于“连接 S3 存储桶”页面上提供以下详细信息:
- 名称:为您的集成指定一个描述性名称(例如“My Data Access Integration”)。
- S3 存储桶位置:选择Quick Suite 实例账户以使用与 Amazon Quick 位于同一 AWS 账户中的存储桶,或选择其他 AWS 账户以使用位于其他账户中的存储桶。
- S3 存储桶 URL:包含您数据的存储桶的 S3 URI。该存储桶必须与 Amazon Quick 位于同一区域。
选择下一步。
图 2:创建集成对话框,显示 S3 连接字段
第 2 步:创建知识库
S3 集成创建完成后,Amazon Quick 会提示您创建知识库。知识库会为您的 S3 内容建立索引,以支持 AI 驱动的搜索。
配置知识库:
- 名称:“Business Knowledge Base”。
- 描述(可选):关于知识库将如何使用的说明。
- 内容:选择“添加所有内容”以索引所连接 S3 存储桶中的所有内容,或选择“添加特定内容”以指定要包含的文件夹和文件的 S3 前缀(前缀筛选区分大小写)。
下一步:“其他设置”会打开文档级访问控制列表(ACL)和元数据文件文件夹的可选设置。请在创建知识库之前决定是否使用 ACL,因为之后无法更改该选择。本演练使用示例数据,因此默认设置已足够。有关详细信息,请参阅设置和管理 Amazon S3 集成。
选择创建。成功横幅会确认 S3 集成,知识库开始在后台建立索引。
图 3:创建知识库对话框,显示 Business Knowledge Base 名称和内容选项
第 3 步:创建并丰富数据集
数据集是加载到 Amazon Quick 中的结构化数据文件。通过使用语义描述、自定义指令和正确的数据类型来丰富数据集,AI 代理可以更准确地解读您的数据。随后,它便可以将自然语言问题转换为 SQL 查询。
创建数据集
- 在 Amazon Quick 主页中,导航到左侧导航栏中的数据。
- 选择创建数据集,然后选择上传文件。
- 选择您之前下载的 Product_Sales.csv 文件,然后选择打开。
- 在确认屏幕上,检查列名称和数据类型。选择下一步以创建数据集。
Amazon Quick 会将文件摄取到 SPICE(内存计算引擎)中,数据集会出现在您的数据集列表中。
数据集名称取自上传的文件,因此在你的账户中显示为 Product_Sales.csv。
丰富数据集
用语义信息丰富数据集有助于 AI 在业务上下文中理解你的数据。代理会利用此上下文将自然语言问题转换为更准确的 SQL 查询。在数据集页面上,选择 Edit dataset 进入数据准备视图。
转换:修正数据类型
在 Transform 标签页中,更新被错误自动检测的列的数据类型。对于此数据集:
- 将 Order Date 和 Date Key 从 String 改为 Date。
- 将 Customer ID 从 String 改为 Integer。
- 将 Sales、Discount 和 Profit 从 String 改为 Decimal。
- 将 Quantity 和 Unit Price 从 String 改为 Integer。
图 4:Transform 视图,显示对 Product_Sales.csv 数据集应用的数据类型更改
输出:添加语义上下文
选择 Output 标签页以访问数据集级别的丰富字段。在此处提供上下文,帮助 AI 理解你的数据代表什么以及如何使用它。
Description:添加数据集级别的描述:
“AnyCompany 的产品销售交易数据,涵盖 FY2024-FY2025 期间北美、EMEA、亚太和拉丁美洲的订单。包括订单详情、客户信息、产品线和收入指标。”
Custom instructions:添加关于 AI 应如何查询此数据的指导:
USAGE GUIDELINES:
- 收入值以 USD 为单位。
- 比较业绩时,按 Region(北美、EMEA、亚太、拉丁美洲)分组。
- Order Date 应用于基于时间的趋势分析。财年与日历年一致。
- Date Key 是 Order Date 的数字 YYYYMMDD 表示形式。
- Sales = Quantity x Unit Price x (1 – Discount)
COMMON USE CASES:
- 区域销售业绩比较。
- 产品线收入分析。
- 季度趋势识别。
- 按行业和细分市场进行客户细分。
TAGS:Sales、revenue、orders、regional performance、product analytics
Column descriptions:在左侧面板中选择每一列并添加描述。例如:
- Order ID:“每笔销售交易的唯一标识符(格式:
REGION-YYYY-NNNNNN)” - Region:“地理销售区域:北美、EMEA、亚太或拉丁美洲”
- Product:“AnyCompany 产品名称:Analytics Pro、Connect、Automate、AI Assistant、Data Catalog 或 Integration Hub”
- Sales:“折扣后以 USD 计的订单收入”
- Segment:“客户规模细分:Enterprise、Mid-Market 或 SMB”
图 5:Output 视图,显示已配置 Description 和 Custom instructions 的数据集详细信息
选择 Save & publish 保存更改。数据集摘要现在会显示具有正确数据类型的列以及你添加的描述。
图 6:丰富后的 Product_Sales.csv 数据集摘要,显示全部 16 列、数据类型和描述
这个丰富后的数据集为你的解决方案提供了结构化数据层。当代理收到关于销售数据的自然语言问题时,它会使用这些描述和指令来生成更准确的 SQL 查询。结合第 2 步的知识库,你现在已拥有结构化和非结构化数据,可以在 Space 中将它们整合在一起。
第 4 步:创建 Space
Spaces 在 Amazon Quick 中充当统一的数据工作区。一个 Space 可以容纳文件上传、仪表板、知识库、操作和数据集,为你的聊天代理提供一个单一位置,以便跨数据类型进行查询。
在左侧导航中,选择 Spaces 并创建一个新的 Space。将其命名为“Business Intelligence Hub”。
将你的知识库和数据集添加到该 Space:
- 选择 Add knowledge,然后从列表中选择 Knowledge bases。从列表中选择“Business Knowledge Base”。
- 再次选择 Add knowledge,然后从列表中选择 Datasets。从列表中选择“Product_Sales.csv”。
现在,该 Space 会显示你的知识库(非结构化文档)和丰富后的数据集(结构化销售数据)均已作为数据源链接。这是两种数据类型汇聚的中心枢纽,为你的聊天代理提供一个可查询所有内容的单一位置。图 7 显示了这两个资源均处于 Ready 状态的 Space。
图 7:Business Intelligence Hub Space 显示 Product_Sales.csv 数据集和 Business Knowledge Base
第 5 步:创建自定义聊天代理
在左侧导航中转到 Chat agents,然后选择 Create chat agent。Amazon Quick 会显示一个提示构建器,你可以在其中用自然语言描述你的代理,或从 Training Guide、Project Coordinator 和 Onboarding Helper 等模板中进行选择。
在本演练中,选择 Skip 以手动配置代理。
图 8:聊天代理创建屏幕,包含提示构建器和示例模板
配置代理角色
配置面板包含多个部分。从 Agent Persona 开始:
- Agent identity:“Business Intelligence Assistant”
- Description:“An AI assistant that breaks down information silos by analyzing business data from your knowledge base”
对于 Agent Persona instructions,请输入:
You are a Business Intelligence Assistant designed to help organizations break down information silos. Your primary functions are:
1. Analyze business data stored in S3
2. Retrieve relevant findings from the reports and memos in the knowledge base
3. Provide comprehensive insights that connect internal data with external trends
4. Generate clear, actionable recommendations based on data analysis
When answering questions, always cite your sources and explain how you arrived at your conclusions. Focus on delivering practical business value and highlighting patterns across different information sources.会出现一条提示,确认你的聊天代理已配备企业级防护措施。
图 9:已填写身份和角色指令的代理角色配置
设置沟通风格
在 Communication style 下,选择一个响应风格预设。选项包括 Executive、Technical 和 Creative。对于商业智能用例,选择 Executive。
链接知识源
在 Knowledge Sources 下,选择 Link spaces,然后选择你之前创建的“Business Intelligence Hub”Space。这使代理能够访问该 Space 中的 S3 知识库和其他数据源。当你链接一个 Space 时,代理仅根据大型语言模型(LLM)知识和已链接的资源进行回答。
你还可以将参考文档(PDF、TXT、HTML、MD、CSV、DOC、DOCX)直接附加到代理以提供额外上下文。Amazon Quick 会从你上传的参考文档中提取最多 100,000 个字符的文本。
图 10:Knowledge Sources 部分显示已链接的 Business Intelligence Hub Space
自定义代理
在 Customization 下,配置:
- Welcome message:“Hello! I’m your Business Intelligence Assistant. I can help you analyze your sales data and business documents and provide insights by comparing internal information with market trends. How can I help you today?”
- Suggested prompts:“Summarize key insights from our reports”和“Analyze our quarterly sales performance”
图 11:自定义部分,包含欢迎消息和建议提示词
启动代理
选择 启动聊天代理。右侧面板会显示代理的实时预览,其中展示了欢迎消息和建议提示词。
图 12:已启动的商业智能助手,聊天面板中显示欢迎消息和建议提示词
第 6 步:跨结构化和非结构化数据进行查询
代理运行后,先从一个关于业务结果的问题开始:
2025 年各地区销售额有何变化?
对于这个问题,代理会结合 Product_Sales.csv 数据集中的结果与 S3 知识库中的文档。它返回的响应包含地区销售明细、趋势以及指向各来源的引用。
图 13 展示了该响应。每个引用标记都会将图表链接回其源文档。
图 13:聊天代理响应,展示来自数据集和知识库文档的地区销售分析
当你询问有关结构化数据的问题时,代理会使用 text-to-SQL 将你的自然语言转换为 SQL 查询。它会针对数据集运行该查询,并以可读格式返回结果。这意味着你可以提出复杂的分析问题,而无需自己编写 SQL。
接下来,询问某个具体文档:
我们的产品战略备忘录中概述的关键战略优先事项是什么?
代理会从产品战略备忘录中总结战略支柱、FY2026 路线图和投资需求,如图 14 所示。
图 14:聊天代理响应,总结产品战略备忘录中的战略优先事项
最后,提出一个需要同时使用两种数据类型的问题:
我们 2025 年的销售结果与分析报告中识别的市场趋势如何对应?
代理会将市场分析报告中的趋势与你的销售数据结果进行比较,并引用每个来源,如图 15 所示。
图 15:聊天代理响应,比较 2025 年销售结果与市场分析报告中的市场趋势
这就是在单个 Space 中组合数据类型的核心价值。代理可以在同一响应中同时从结构化 CSV 数据和非结构化文档中提取信息。你无需知道数据存放在哪里。
第 7 步:使用自然语言生成工件和报告
商业智能助手还可以生成格式化文档,包括 Microsoft PowerPoint 演示文稿、Microsoft Excel 电子表格和 Microsoft Word 文档。在聊天代理中尝试这些提示词:
- “创建一个 PowerPoint 演示文稿,按地区总结 AnyCompany 2025 年第四季度销售业绩,包括关键趋势和建议。”
- “生成一个 Excel 电子表格,显示按收入排名前 10 的订单,包含 Order ID、Region、Product 和 Revenue 列。”
- “根据我们的年度审查数据,创建一个包含季度业务审查摘要的 Word 文档。”
图 16:聊天代理确认请求,并为 AnyCompany 2025 年第四季度销售业绩准备 PowerPoint 大纲
图 17:生成的八页 PowerPoint,包含可下载的 AnyCompany_FY2025_Sales_Performance.pptx 文件
第 8 步:共享代理
启动聊天代理后,在你共享它之前,它保持私有。测试代理后,与你的团队共享它:
- 在左侧导航中,选择 聊天代理。
- 在商业智能助手的 操作 列中,选择菜单图标,然后选择 共享。
- 输入要共享的用户或组,分配 Owner 或 Viewer 权限,然后选择 Share。
该代理会返回考虑权限的响应,知识库仅对其创建者可用,直到你更新其权限。请确保与你共享该代理的人也能访问该 Space、知识库和数据集。详情请参阅 自定义聊天代理。
你完成了什么
在本演练中,你:
- 通过集成将 Amazon S3 连接为数据源。
- 创建了一个知识库,用于索引非结构化业务文档。
- 创建并充实了一个 Product Sales 数据集,用于结构化数据查询。
- 构建了一个 Space,作为聊天代理的统一数据枢纽。
- 配置了一个自定义聊天代理,为其定义了角色设定并关联了知识源。
- 在一次对话中跨结构化和非结构化数据查询该代理。
- 根据聊天提示生成了 PowerPoint 演示文稿。
- 与你的团队共享了该代理。
最佳实践
在从本演练过渡到你自己的数据时,请遵循以下实践:
- 组织你的 S3 数据: 使用清晰的文件夹结构和文件命名约定。清晰的结构还能让你更轻松地将知识库限定到特定的 S3 前缀。
- 编写具体的角色指令: 指令越具体,代理的响应就越一致。请包含关于如何引用来源和处理模糊查询的指导。
- 使用 Space 控制范围: 与其让代理访问所有内容,不如创建聚焦的 Space,仅包含与该代理用途相关的数据源。
- 从建议提示开始: 建议提示可帮助用户了解该代理能做什么。请选择能展示该代理在结构化和非结构化数据方面覆盖范围的提示。
- 共享前先测试: 在与团队共享之前,使用预览面板以有代表性的问题测试你的代理。
安全注意事项
在 AWS 共享责任模型 下,你负责配置对数据、知识库和代理的访问权限。在调整此解决方案时,请考虑以下事项:
- 授予最小权限的 S3 访问: 仅授予 Amazon Quick 访问你的知识库所需的存储桶。管理员选择的存储桶默认具有只读权限。如果你通过 API 创建知识库,可以为单个 S3 数据源提供自定义的 AWS Identity and Access Management (IAM) 角色,而不是授予账户范围的 S3 访问权限。
- 控制文档访问: 如果文档需要按用户或按组访问,请在创建知识库时启用文档级 ACL。此选择之后无法更改。
- 加密存储桶: 如果你的存储桶使用 AWS Key Management Service (AWS KMS) 密钥,请遵循 管理员设置指南 中的 AWS KMS 步骤。
- 仅添加可信内容: 该代理使用你知识库中的文档来形成响应,因此请仅包含来自你信任来源的内容。
- 有选择地共享: 聊天代理和知识库默认是私有的。请仅与需要它们的用户和组共享。
- 将护栏作为一层防护:Amazon Quick 包含内置的内容安全筛查功能,管理员最多可添加 50 个屏蔽词或短语。这些控制措施有助于降低风险,但不能替代您配置访问权限和许可的责任。有关详细信息,请参阅 Amazon Quick 中的 AI 护栏。
清理
为避免持续产生费用,请删除您创建的资源:
- 在 Chat agents 页面删除聊天代理。
- 在 Spaces 页面删除 Space。
- 在 Datasets 页面删除 Product_Sales.csv 数据集。
- 在 Knowledge 页面删除知识库和 S3 集成。
- 如果您专门为本演练创建了 S3 存储桶,请清空并删除它。删除存储桶及其对象是永久性的,因此请备份您想保留的任何数据。
Amazon Quick 用户订阅和账户费用与这些资源分开计费。有关详细信息,请参阅 Amazon Quick 定价。
结论
Amazon Quick 帮助您将结构化和非结构化数据整合在一起。在本文中,您将 S3 连接为知识库、丰富了数据集、构建了 Space,并创建了自定义聊天代理。业务用户现在可以通过单一对话界面查询这两种数据类型,而无需了解数据所在位置或如何编写查询。
关于作者
Puneeth Ranjan Komaragiri
Puneeth 是 AWS 的首席技术客户经理。他尤其热衷于监控与可观测性、云财务管理以及生成式 AI 领域。在目前的职位上,Puneeth 乐于与客户紧密合作,运用自己的专业知识帮助他们设计和构建云工作负载,以实现最佳的扩展性和韧性。
Sneha Gillala
Sneha 是 AWS 的技术客户经理。在职位上,Sneha 与企业客户合作,架构、实施和扩展基于云的应用程序,以满足他们的业务目标。她对云计算、云经济和生成式 AI 领域充满热情。
Johana Herrera
Johana 是常驻弗吉尼亚州阿灵顿的解决方案架构师,拥有三年以上设计和实施云解决方案的经验。她专注于生成式 AI 和分析,并乐于帮助客户在架构解决方案时兼顾安全性和韧性。业余时间,她喜欢与两只狗、一只猫相伴,或观看体育比赛。
Ramon Lopez
Ramon 是 Amazon Quick 的首席解决方案架构师。他拥有多年构建 BI 解决方案的经验和会计背景,乐于与客户合作并创建解决方案。工作之余,他更喜欢去海边或登山。
















