用 Amazon Quick 整合结构化与非结构化数据
Bring structured and unstructured data together with Amazon Quick
Amazon Quick 通过 Space 将 S3 知识库中的非结构化文档与带语义描述的结构化数据集整合到同一工作区,自定义聊天智能体可判断该查知识库、数据集还是两者并用,返回带引用的合并回答。搭建需 Enterprise 订阅账户,S3 桶默认只读权限,知识库创建后即后台索引。
组织以多种形式收集数据。结构化数据存在于数据库和电子表格中,而非结构化数据则存在于文件系统中存储的文档、报告和文件里。要同时分析两者,通常需要在多个工具之间切换、运行单独的查询,并手动关联结果。
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
Amazon Quick 中的 Spaces 充当统一的数据工作区。一个 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 指令,请输入:
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:自定义部分,包含欢迎消息和建议提示词
启动代理
选择 Launch chat agent。右侧面板会显示代理的实时预览,其中展示了欢迎消息和建议提示词。
图 12:已启动的 Business Intelligence Assistant,聊天面板中显示欢迎消息和建议提示词
第 6 步:跨结构化和非结构化数据进行查询
代理运行后,先从一个关于业务结果的问题开始:
2025 年各地区销售额如何变化?
对于这个问题,代理会将 Product_Sales.csv 数据集的结果与 S3 知识库中的文档结合起来。它会返回包含地区销售明细、趋势以及指向各来源的引用的响应。
图 13 展示了该响应。每个引用标记都将图表链接回其来源文档。
图 13:聊天代理响应,展示来自数据集和知识库文档的地区销售分析
当你询问有关结构化数据的问题时,代理会使用 text-to-SQL 将你的自然语言转换为 SQL 查询。它会针对数据集运行该查询,并以可读格式返回结果。这意味着你无需自己编写 SQL 即可提出复杂的分析问题。
接下来,询问某个特定文档:
我们的产品战略备忘录中概述的关键战略优先事项是什么?
代理会总结 Product Strategy Memo 中的战略支柱、FY2026 路线图和投资需求,如图 14 所示。
图 14:聊天代理响应,总结 Product Strategy Memo 中的战略优先事项
最后,提出一个需要同时使用两种数据类型的问题:
我们 2025 年的销售结果与分析报告中识别的市场趋势如何对应?
代理会将 Market Analysis Report 中的趋势与你的销售数据结果进行比较,并引用每个来源,如图 15 所示。
图 15:聊天代理响应,比较 2025 年销售结果与 Market Analysis Report 中的市场趋势
这就是在单个 Space 中组合数据类型的核心价值。代理可以在同一响应中同时从结构化 CSV 数据和非结构化文档中提取信息。你无需知道数据位于何处。
第 7 步:使用自然语言生成工件和报告
Business Intelligence Assistant 还可以生成格式化文档,包括 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 步:共享代理
启动聊天代理后,在你共享它之前,它保持私有。测试代理后,与你的团队共享它:
- 在左侧导航中,选择 Chat agents。
- 在 Business Intelligence Assistant 的 Actions 列中,选择菜单图标,然后选择 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 解决方案的经验和会计背景,乐于与客户合作并创建解决方案。工作之余,他更喜欢去海边的户外或登山。
来源:AWS Machine Learning Blog · aws.amazon.com
















