正文 · AI 翻译
组织以多种形式收集数据。结构化数据存储在数据库和电子表格中,而非结构化数据存在于分布在各个文件系统中的文档、报告和文件中。要同时分析这两类数据,通常需要在多个工具之间切换、分别运行查询,并手动关联结果。Amazon Quick 通过统一的使用体验解决了这一问题。您可以通过增强型数据集连接结构化数据,并通过以 S3 为后端的知识库连接非结构化数据。然后,您可以通过单个对话式 AI 代理查询这两类数据。在本文中,您将学习如何:将 Amazon Simple Storage Service(Amazon S3)连接为数据源并创建知识库;构建一个结合结构化和非结构化数据的 Space;创建并配置可查询这两类数据的自定义聊天代理;在一次对话中提出涉及结构化和非结构化数据源的问题。解决方案架构 下图展示了各组件如何连接,以通过 Amazon Quick 提供统一的数据体验。图 1:在 Amazon Quick 中结合结构化和非结构化数据的解决方案架构。该架构分为 3 层:数据层:您的数据以 2 种形式存在。非结构化内容(文档、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 中创建集成、知识库、数据集、Space 和聊天代理的权限。准备示例数据 本演练使用 2 类数据:非结构化文档:将以下文件上传到您的 Amazon S3 存储桶,供知识库使用:AnyCompany_Business_Review.pdf、AnyCompany_Market_Analysis_Report.pdf、AnyCompany_Product_Strategy_Memo.pdf。结构化数据:将以下文件下载到您的计算机。您将在步骤 3 中直接将其上传到 Amazon Quick:Product_Sales.csv。步骤 1:创建 Amazon S3 集成 首先将 Amazon Quick 连接到您的 S3 存储桶。在 Amazon Quick 控制台的左侧导航面板中,选择 Knowledge。知识页面显示可用的连接器类型,包括 Amazon Q Business、Web Crawler、Amazon S3,以及 Google Drive、OneDrive 和 Microsoft SharePoint 等第三方选项。在 Amazon S3 下,选择 Add。 在“创建 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 查询。在数据集页面,选择“编辑数据集”进入数据准备视图。转换:修正数据类型。在“转换”选项卡中,更新自动检测错误的列的数据类型。对于此数据集:将 Order Date 和 Date Key 从 String 更改为 Date。将 Customer ID 从 String 更改为 Integer。将 Sales、Discount 和 Profit 从 String 更改为 Decimal。将 Quantity 和 Unit Price 从 String 更改为 Integer。图 4:显示已对 Product_Sales.csv 数据集应用的数据类型更改的转换视图。输出:添加语义背景信息。选择“输出”选项卡,访问数据集级别的丰富字段。在这里,你可以提供背景信息,帮助 AI 理解数据所代表的内容及其使用方式。描述:添加数据集级别的描述:“AnyCompany 的产品销售交易数据,涵盖 2024 财年至 2025 财年北美、EMEA、亚太地区和拉丁美洲的订单。包括订单详情、客户信息、产品线和收入指标。”自定义指令:添加关于 AI 应如何查询这些数据的指导:“使用指南:收入数值以美元计。比较业绩时,按 Region(北美、EMEA、亚太地区、拉丁美洲)分组。” 应使用订单日期进行基于时间的趋势分析。财年与日历年一致。日期键是订单日期的数字 YYYYMMDD 表示形式。销售额 = 数量 × 单价 ×(1-折扣)。常见用例:比较区域销售业绩。分析产品线收入。识别季度趋势。按行业和客户细分市场对客户进行分类。标签:销售、收入、订单、区域业绩、产品分析。列描述:选择左侧面板中的每一列并添加描述。例如:订单 ID:“每笔销售交易的唯一标识符(格式:REGION-YYYY-NNNNNN)”;区域:“销售地理区域:北美、EMEA、亚太地区或拉丁美洲”;产品:“AnyCompany 产品名称:Analytics Pro、Connect、Automate、AI Assistant、Data Catalog 或 Integration Hub”;销售额:“折扣后的订单收入,以美元计”;客户细分:“客户规模类别:企业、中型市场或中小型企业”。图 5:显示已配置描述和自定义指令的数据集详细信息的输出视图。选择“保存并发布”以保存更改。数据集摘要现在显示各列的正确数据类型以及你添加的描述。图 6:经过完善的 Product_Sales.csv 数据集摘要,显示全部 16 列、数据类型和描述。这个经过完善的数据集为你的解决方案提供结构化数据层。当代理收到有关销售数据的自然语言问题时,它会利用这些描述和指令生成更准确的 SQL 查询。结合步骤 2 中的知识库,你现在已准备好将结构化和非结构化数据汇集到一个 Space 中。步骤 4:创建 Space。Amazon Quick 中的 Space 充当统一的数据工作区。一个 Space 可以容纳上传的文件、仪表板、知识库、操作和数据集,让聊天代理能够在同一位置查询不同类型的数据。从左侧导航栏中选择“Spaces”,然后创建一个新的 Space。将其命名为“Business Intelligence Hub”。将知识库和数据集添加到该 Space:选择“添加知识”,然后从列表中选择“知识库”。从列表中选择“Business Knowledge Base”。再次选择“添加知识”,然后从列表中选择“数据集”。从列表中选择“Product_Sales.csv”。该 Space 现在显示你的知识库(非结构化文档)和经过完善的数据集(结构化销售数据),两者均已关联为数据源。这里是两类数据汇集的中心枢纽,让聊天代理能够在同一位置查询所有内容。图 7 显示了两项资源均处于“就绪”状态的 Space。图 7:显示 Product_Sales.csv 数据集和 Business Knowledge Base 的 Business Intelligence Hub Space。步骤 5:创建自定义聊天代理。在左侧导航栏中进入“聊天代理”,然后选择“创建聊天代理”。Amazon Quick 会显示一个提示构建器,你可以用自然语言描述代理,也可以从 Training Guide、Project Coordinator 和 Onboarding Helper 等模板中选择。在本演练中,选择“跳过”,以手动配置代理。图 8:带有提示构建器和示例模板的聊天代理创建界面。配置代理角色。配置面板包含几个部分。首先配置代理角色:代理身份:“Business Intelligence Assistant”;描述:“一款通过分析知识库中的业务数据来打破信息孤岛的 AI 助手”。在代理角色指令中输入:你是一名旨在帮助组织打破信息孤岛的商业智能助手。你的主要职能是:1. 分析存储在 S3 中的业务数据;2. 从知识库中的报告和备忘录中检索相关发现;3. 提供将内部数据与外部趋势联系起来的全面洞察;4. 根据数据分析提出清晰、可执行的建议。回答问题时,始终引用你的来源,并解释你是如何得出结论的。 重点是提供切实的业务价值,并突出不同信息来源之间的规律。页面会显示一条提示,确认您的聊天智能体配备了企业级防护机制。图 9:已填写身份和角色指令的智能体角色配置。设置沟通风格:在“沟通风格”下选择一种预设回复风格。选项包括“高管”“技术”和“创意”。对于商业智能使用场景,选择“高管”。关联知识来源:在“知识来源”下,选择“关联空间”,然后选择您之前创建的“Business Intelligence Hub”空间。这使智能体能够访问该空间中的 S3 知识库和其他数据源。关联空间后,智能体仅依据大型语言模型(LLM)的知识和已关联的资源作答。您还可以直接向智能体附加参考文档(PDF、TXT、HTML、MD、CSV、DOC、DOCX),以提供更多背景信息。Amazon Quick 最多可从您上传的参考文档中提取 100,000 个字符的文本。图 10:显示已关联的“Business Intelligence Hub”空间的“知识来源”部分。自定义智能体:在“自定义”下配置:欢迎消息:“您好!我是您的商业智能助手。我可以帮助您分析销售数据和业务文档,并通过比较内部信息与市场趋势提供洞察。今天有什么可以帮您?”建议提示词:“总结我们报告中的关键洞察”和“分析我们的季度销售表现”。图 11:显示欢迎消息和建议提示词的“自定义”部分。启动智能体:选择“启动聊天智能体”。右侧面板会显示智能体的实时预览,其中展示欢迎消息和建议提示词。图 12:已启动的商业智能助手,聊天面板中显示欢迎消息和建议提示词。第 6 步:跨结构化和非结构化数据查询。智能体运行后,先询问一个关于业务成果的问题:2025 年各地区的销售额发生了什么变化?对于这个问题,智能体会结合 Product_Sales.csv 数据集与 S3 知识库中的文档所得出的结果。它会返回包含各地区销售额明细、趋势以及指向各个来源的引用的回答。图 13 展示了该回答。每个引用标记都将相应数据关联到其来源文档。图 13:聊天智能体根据数据集和知识库文档给出的地区销售分析回答。当您提出有关结构化数据的问题时,智能体会使用文本转 SQL 功能,将自然语言转换为 SQL 查询。它会对数据集运行该查询,并以易读的格式返回结果。这意味着您无需亲自编写 SQL,也能提出复杂的分析问题。接下来,询问某份特定文档:我们的产品战略备忘录概述了哪些关键战略重点?如图 14 所示,智能体会总结《产品战略备忘录》中的战略支柱、FY2026 路线图和投资需求。图 14:聊天智能体对《产品战略备忘录》中的战略重点所作的总结回答。最后,提出一个需要结合两类数据的问题:我们的 2025 年销售业绩与分析报告中指出的市场趋势有多吻合?如图 15 所示,智能体会将《市场分析报告》中的趋势与您的销售数据结果进行比较,并引用各个来源。图 15:聊天智能体将 2025 年销售业绩与《市场分析报告》中的市场趋势进行比较的回答。这就是在同一个空间中结合不同数据类型的核心价值。智能体可以在同一回答中提取结构化 CSV 数据和非结构化文档中的信息。您无需知道数据存储在何处。第 7 步:使用自然语言生成成品文件和报告。商业智能助手还可以生成排版好的文档,包括 Microsoft PowerPoint 演示文稿、Microsoft Excel 电子表格和 Microsoft Word 文档。 在聊天智能体中试用以下提示词:“创建一份 PowerPoint 演示文稿,按区域总结 AnyCompany 2025 年第 4 季度的销售业绩,包括主要趋势和建议。”“生成一份 Excel 电子表格,列出按收入排名前 10 的订单,包含订单 ID、区域、产品和收入列。”“根据我们的年度回顾数据创建一份包含季度业务回顾摘要的 Word 文档。”图 16:聊天智能体确认请求,并为 AnyCompany 2025 年第 4 季度销售业绩准备 PowerPoint 大纲。图 17:生成的 8 页 PowerPoint 演示文稿,附有可下载的 AnyCompany_FY2025_Sales_Performance.pptx 文件。步骤 8:共享智能体。启动聊天智能体后,在共享之前,只有您可以使用它。测试智能体后,与团队共享:在左侧导航栏中,选择“聊天智能体”。在 Business Intelligence Assistant 的“操作”列中,选择菜单图标,然后选择“共享”。输入要共享给的用户或群组,分配“所有者”或“查看者”权限,然后选择“共享”。智能体会根据权限返回响应;知识库在您更新其权限之前,仅其创建者可以使用。确保您共享智能体的人员也有权访问 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 防护措施。清理 为避免持续产生费用,请移除您创建的资源:从“聊天代理”页面删除聊天代理。从“Spaces”页面删除 Space。从“数据集”页面删除 Product_Sales.csv 数据集。从“知识”页面删除知识库和 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 是一名常驻弗吉尼亚州阿灵顿的解决方案架构师,拥有超过 3 年设计和实施云解决方案的经验。她专注于生成式 AI 和分析,喜欢帮助客户设计兼顾安全性和韧性的解决方案。闲暇时,她喜欢陪伴自己的 2 只狗和猫,或观看体育比赛。Ramon Lopez Ramon 是 Amazon Quick 的首席解决方案架构师。他拥有多年构建商业智能解决方案的经验和会计背景,热爱与客户合作并创建解决方案。工作之余,他更喜欢到户外,在海中或山上活动。