使用 Microsoft Fabric 中的数据代理,可以创建对话式 AI 体验,以回答有关存储在 Fabric 中的湖屋、仓库、Power BI 语义模型和 KQL 数据库中的数据的问题。 数据见解变得可访问。 你的同事可以采用纯英语提问并接收数据驱动的答案,即使他们不是 AI 专家或对数据非常熟悉也是如此。
重要
此功能目前为预览版。
先决条件
- 付费 F2 或更高版本的 Fabric 容量资源
- Fabric 数据代理租户设置已启用。
- Copilot 租户切换已启用。
- AI 的跨地理位置处理已启用。
- AI 的跨地理存储 功能已启用。
- 至少具备其中一项:数据仓库、湖屋、一个或多个 Power BI 语义模型或含数据的 KQL 数据库。
- 已为 Power BI 语义模型数据源启用通过 XMLA 终结点的 Power BI 语义模型租户切换。
用于创建和使用 Fabric 数据代理的端到端流
本节概述了在 Fabric 中创建、验证和共享 Fabric 数据代理的关键步骤,使其可访问以进行使用。
该过程非常简单,你可以在几分钟内开始测试 Fabric 数据代理。
创建新的 Fabric 数据代理
要创建新的 Fabric 数据代理,首先导航到工作区,然后选择“+ 新建项”按钮。 在“所有项”选项卡中,搜索“Fabric 数据代理”以找到相应的选项,如以下屏幕截图所示:
选择后,系统会提示你为 Fabric 数据代理提供一个名称,如以下屏幕截图所示:
有关为 Fabric 数据代理命名的视觉指南,请参阅提供的屏幕截图。 输入名称后,继续进行配置,使 Fabric 数据代理符合你的特定要求。
选择您的数据
创建一个 Fabric 数据代理后,最多可以添加五个数据源,包括湖屋、仓库、Power BI 语义模型和 KQL 数据库的任意组合。 例如,可以添加五个 Power BI 语义模型,或两个 Power BI 语义模型、一个湖屋和一个 KQL 数据库。
首次创建 Fabric 数据代理并提供名称时,OneLake 目录会自动显示,允许你添加数据源。 若要添加一个数据源,请从目录中选择它(如下一屏幕所示),然后选择“添加”。 必须单独添加每个数据源。 例如,可以添加一个湖屋,选择“添加”,然后继续添加另一个数据源。 若要筛选数据源类型,请选择筛选器图标,然后选择所需的类型。 只能查看所选类型的数据源,使得可以更轻松地找到和连接 Fabric 数据代理的相应源。
添加数据源后,“Fabric 数据代理”页左窗格上的“资源管理器”填充每个所选数据源中的可用表,你可以在其中使用复选框,使表对 AI 可用或不可用,如以下屏幕截图所示:
注释
需要读写权限,才能将 Power BI 语义模型作为数据源添加到 Fabric 数据代理。
在后续添加数据源时,请在“Fabric 数据代理”页面的左侧窗格中找到“资源管理器”,然后选择“+ 数据源”,如以下屏幕截图所示:
OneLake 目录再次打开,你可以根据需要无缝添加更多数据源。
小提示
确保对表和列使用描述性名称。 表名 SalesData
比 TableA
更有意义,ActiveCustomer
或 IsCustomerActive
等列名比 C1
或 ActCu
更清晰。 描述性名称有助于 AI 生成更准确、可靠的查询。
提出问题
添加数据源并选择每个数据源的相关表后,可以开始提问。 系统处理问题,如以下屏幕截图所示:
与这些示例类似的问题也应有效:
- “2023 年,我们在加州的总销售额是多少?”
- “定价最高的前 5 种产品是什么,它们属于什么类别?”
- "哪些从未出售过的物品是最昂贵的?"
此类问题适用,因为系统可以将它们转换为结构化查询(T-SQL、DAX 或 KQL),针对数据库执行这些查询,然后根据存储的数据返回具体答案。
但是,如下问题超出了范围:
- “为什么工厂在 2024 年第 2 季度的生产率较低?”
- “我们销售高峰的根本原因是什么?”
这些问题当前超出了范围,因为它们需要复杂的推理、关联分析或数据库中未直接提供的外部因素。 Fabric 数据代理当前不执行高级分析、机器学习或因果推理。 它只是根据用户的查询检索和处理结构化数据。
在你提出问题时,Fabric 数据代理使用 Azure OpenAI 助手 API 来处理请求。 流以这种方式运行:
使用用户凭据进行架构访问
系统首先使用用户的凭据来访问数据源(例如湖屋、仓库、PBI 语义模型或 KQL 数据库)的架构。 这可确保系统提取用户有权查看的数据结构信息。
构造提示
若要解释用户的问题,系统会合并:
- 用户查询:用户提供的自然语言问题。
- 架构信息:前一步中检索的数据源的元数据和结构化详细信息。
- 示例和说明:设置 Fabric 数据代理时提供的任何预定义示例(例如示例问题和答案)或特定说明。 这些示例和说明有助于优化 AI 对问题的理解,并指导 AI 如何与数据交互。
所有这些信息都用于构造提示。 此提示作为 Azure OpenAI 助手 API 的输入,该 API 如同 Fabric 数据系统的底层代理。 这实质上向 Fabric 数据代理指示如何处理查询,以及要生成的答案类型。
基于查询需求的工具调用
代理分析构造的提示,并确定要调用哪个工具来检索答案:
- 自然语言到 SQL (NL2SQL):用于在数据驻留在湖屋或仓库中时生成 SQL 查询
- 自然语言到 DAX (NL2DAX):用于创建 DAX 查询以与 Power BI 数据源中的语义模型交互
- 自然语言到 KQL (NL2KQL):用于构造 KQL 查询以查询 KQL 数据库中的数据
所选工具使用 Fabric 数据代理底层的代理提供的架构、元数据和上下文来生成查询。 然后,该工具验证查询,以确保正确设置格式并符合其安全协议及其自己的负责任 AI (RAI) 策略。
响应构造
Fabric 数据代理底层的代理执行查询,并确保响应的结构和格式正确。 代理通常包括额外的上下文,使答案对用户友好。 最后,答案在对话界面中向用户显示,如以下屏幕截图所示:
代理展示最终答案的结果,以及它为了获取该答案所执行的中间步骤。 此方法可增强透明度,并允许在必要时验证这些步骤。 用户可以展开步骤的下拉列表,以查看 Fabric 数据代理检索答案所执行的所有步骤,如以下屏幕截图所示:
此外,Fabric 数据代理还提供用于查询相应数据源的生成的代码,从而提供对如何构造响应的进一步见解。
这些查询专门设计用于查询数据。 涉及的操作
- 数据创建
- 数据更新
- 数据删除
- 任何数据类型更改
不受允许,以保护数据的完整性。
随时可以选择“清除聊天”按钮以清除聊天,如以下屏幕截图所示:
“清除聊天”功能会清除所有聊天历史记录并启动新会话。 删除聊天历史记录后,无法检索它。
更改数据源
若要删除数据源,请在“Fabric 数据代理”页左窗格上的“资源管理器”中,将鼠标悬停在数据源名称上,直到出现三点菜单。 选择三个点以显示选项,然后选择“删除”以删除数据源,如以下屏幕截图所示:
或者,如果数据源已更改,你可以在同一菜单中选择“刷新”,如以下屏幕截图所示:
这可确保在资源管理器中反映并正确填充任何数据源更新,以使 Fabric 数据代理与最新数据保持同步。
Fabric 数据代理配置
Fabric 数据代理提供多个配置选项,使用户能够自定义 Fabric 数据代理行为,以更好地满足组织的需求。 当 Fabric 数据代理处理并呈现数据时,这些配置提供灵活性,使得能够对结果进行更多控制。
提供指示
可以提供指导 AI 行为的特定说明。 若要在“Fabric 数据代理说明”窗格中添加它们,请选择“数据代理说明”,如以下屏幕截图所示:
在此处,可以使用纯英语文本编写最多 15,000 个字符,以指示 AI 如何处理查询。
例如,可以指定要用于特定类型问题的确切数据源。 数据源选择示例可能包括指导AI如何使用
- 用于财务查询的 Power BI 语义模型
- 用于销售数据的湖屋
- 用于操作指标的 KQL 数据库
这些说明确保 AI 根据你的指导和问题上下文生成适当的查询(无论是 SQL、DAX 还是 KQL)。
如果 AI 资源始终错误地解释某些字词、首字母缩略词或术语,你可以尝试在本节中提供明确的定义,以确保 AI 正确理解并处理它们。 这对于特定于域的术语或独特的业务行话尤其有用。
通过定制这些说明并定义术语,在完全符合数据策略和业务需求的情况下,增强 AI 提供精确且相关的见解的能力。
提供示例查询
提供针对每个数据源(如湖屋、仓库和 KQL 数据库)定制的示例查询时,可以增强 Fabric 数据代理响应的准确性。 此方法在生成式 AI 中称为“少样本学习”,有助于引导 Fabric 数据代理生成更符合预期的响应。
当你向 AI 提供示例查询/问题对时,它在回答未来的问题时会引用这些示例。 将新查询与最相关的示例匹配有助于 AI 整合特定于业务的逻辑,并有效地响应常见问题。 此功能支持对单个数据源进行微调,并确保生成更准确的 SQL 或 KQL 查询。
Power BI 语义模型数据目前不支持添加示例查询/问题对。 但是,对于受支持的数据源(如 lakehouse、warehouse 和 KQL 数据库),提供更多示例可以显著提高 AI 在需要调整其默认性能时生成精确查询的能力。
小提示
一组不同的示例查询增强了 Fabric 数据代理生成准确且相关的 SQL/KQL 查询的能力。
若要添加或编辑示例查询,请选择“示例查询”按钮以打开“示例查询”窗格,如以下屏幕截图所示:
此窗格提供了为所有受支持的数据源(Power BI 语义模型除外)添加或编辑示例查询的选项。 对于每个数据源,可以选择 添加或编辑示例查询 输入相关示例,如以下屏幕截图所示:
注释
Fabric 数据代理仅引用包含有效 SQL/KQL 语法且与所选表的架构匹配的查询。 Fabric 数据代理不使用尚未完成验证的查询。 确保所有示例查询都有效且正确地与架构保持一致,以确保 Fabric 数据代理有效地利用它们。
发布和共享 Fabric 数据代理
在测试了 Fabric 数据代理在各种问题上的性能,并确认它生成准确的 SQL、DAX 或 KQL 查询后,可以与同事分享它。 在那时,选择“发布”,如以下屏幕截图所示:
此步骤将打开一个窗口,要求输入 Fabric 数据代理的描述。 在此处,提供 Fabric 数据代理的功能的详细说明。 这些详细信息指导同事了解 Fabric 数据代理的功能,并协助其他 AI 系统/业务流程协调程序有效地调用 Fabric 数据代理。
发布 Fabric 数据代理后,你将拥有它的两个版本。 一个版本是当前的草稿版本,你可以继续优化和改进该版本。 第二个版本是已发布的版本,你可以与想要查询 Fabric 数据代理以获得其问题答案的同事共享该版本。 开发时,可以将同事的反馈合并到当前草稿版本中,以进一步增强 Fabric 数据代理的性能。