Microsoft Fabric 中的数据代理是一项新的 Microsoft Fabric 功能,可用于使用生成 AI 构建自己的聊天式 Q&A 系统。 Fabric 数据代理让组织中的每个人都能更轻松地获取数据见解,并将其转化为实际举措。 借助 Fabric 数据代理,你的团队可以通过简单的英语问题,围绕组织存储在 Fabric OneLake 中的数据展开交流,并随后获得相关解答。 这样,即使是在 AI 中没有技术专业知识或深入了解数据结构的人也能获得精确且上下文丰富的答案。
还可以添加特定于组织的指令、示例和指南,对 Fabric 数据代理进行微调。 此方法可确保响应与组织的需求和目标保持一致,使每个人都能够更有效地参与数据。 Fabric 数据代理可促进形成数据驱动决策的文化,因为它降低了获取见解的门槛,促进了协作,并帮助你的组织从数据中提取更多价值。
重要
此功能目前为预览版。
先决条件
- 付费的 F2 或更高版本的 Fabric 容量,或者每个容量 (P1 或更高版本) 的 Power BI Premium 容量(已启用 Microsoft Fabric)
- Fabric 数据代理租户设置已启用。
- 启用了 AI 的跨地理位置处理 。
- 已启用适用于 AI 的跨地理位置存储。
- 至少有一个包含数据:一个仓库、一个 lakehouse、一个或多个 Power BI 语义模型、一个 KQL 数据库或一个本体。
- 已为 Power BI 语义模型数据源启用通过 XMLA 终结点的 Power BI 语义模型租户切换。
Fabric 数据代理的工作原理
Fabric 数据代理使用大型语言模型(LLM)来帮助用户自然地与其数据进行交互。 Fabric 数据代理应用 Azure OpenAI 助手 API,其行为类似于代理。 它处理用户问题、确定最相关的数据源(Lakehouse、Warehouse、Power BI 数据集、KQL 数据库、本体),并调用相应的工具来生成、验证和执行查询。 然后,用户可以使用纯语言提问并接收结构化、可读的答案,而无需编写复杂的查询并确保准确且安全的数据访问。
下面详细介绍了工作原理:
问题分析和验证:Fabric 数据代理将 Azure OpenAI 助手 API 作为基础代理来处理用户问题。 此方法可确保问题符合安全协议、负责任的 AI (RAI) 策略和用户权限。 Fabric 数据代理严格执行只读访问,维护与所有数据源的只读数据连接。
数据源标识:Fabric 数据代理使用用户的凭据访问数据源的架构。 此方法可确保系统提取用户有权查看的数据结构信息。 然后,它会针对所有可用的数据源(包括关系数据库(Lakehouse 和 Warehouse)、Power BI 数据集(语义模型)、KQL 数据库和本体评估用户的问题。 它还可能引用用户提供的数据代理指令来确定最相关的数据源。
工具调用和查询生成:确定正确的数据源或源后,Fabric 数据代理会重新描述问题,以便明确和结构,然后调用相应的工具来生成结构化查询:
- 对于关系数据库(湖屋/仓库),自然语言到 SQL (NL2SQL)。
- 对于 Power BI 数据集(语义模型),自然语言到 DAX (NL2DAX)。
- 对于 KQL 数据库,自然语言到 KQL (NL2KQL)。
所选工具会根据提供的架构、元数据和上下文生成查询,这些信息由 Fabric 数据代理所基于的代理进行传递。
查询验证:该工具执行验证以确保查询格式正确,并遵守其自己的安全协议和 RAI 策略。
查询执行和响应:验证后,Fabric 数据代理将针对所选数据源执行查询。 结果格式化为人工可读响应,其中可能包括结构化数据,例如表、摘要或关键见解。
此方法可确保用户能够通过自然语言与其数据进行交互,而 Fabric 数据代理则负责处理复杂的查询生成、验证和执行,完全无需用户自行编写 SQL、DAX 或 KQL。
Fabric 数据代理配置
配置 Fabric 数据代理类似于构建 Power BI 报表 - 首先进行设计和完善,以确保其满足需求,然后发布并与同事共享,以便他们能够与数据进行交互。 Fabric 数据代理的设置涉及:
选择数据源:Fabric 数据代理支持任意组合中的最多五个数据源,包括 lakehouses、warehouses、KQL 数据库、Power BI 语义模型和本体。 例如,经过配置的 Fabric 数据代理可以包含五个 Power BI 语义模型。 它可能包括两个 Power BI 语义模型、一个 lakehouse 和一个 KQL 数据库的组合。 有许多可用选项。
选择相关表:选择数据源后,一次添加一个,并定义 Fabric 数据代理使用的每个源中的特定表。 此步骤确保 Fabric 数据代理仅关注相关数据,从而检索准确的结果。
添加上下文:若要提高 Fabric 数据代理的准确性,请通过 Fabric 数据代理说明和示例查询提供更多上下文。 作为 Fabric 数据代理所基于的代理,这些上下文有助于 Azure OpenAI 助手 API 就如何处理用户问题做出更明智的决策,并确定最适合用于回答这些问题的数据源。
数据代理说明:添加说明以指导结构数据代理的代理,确定用于回答特定类型问题的最佳数据源。 还可以提供用于阐明组织术语或特定要求的自定义规则或定义。 这些说明可以提供更多上下文或首选项,这些上下文或首选项会影响代理选择和查询数据源的方式。
- 将有关财务指标的问题直接转至 Power BI 语义模型。
- 将涉及原始数据探索的查询分配至湖屋。
- 对于需要 日志分析 的问题,请将其路由到 KQL 数据库。
示例查询:添加示例问题查询对,以说明 Fabric 数据代理应如何响应常见查询。 这些示例充当代理的指南,可帮助它了解如何解释类似问题并生成准确的响应。
注释
Power BI 语义模型数据源目前不支持添加示例查询/问题对。
通过将明确的 AI 说明和相关示例查询组合在一起,可以更好地将 Fabric 数据代理与组织的数据需求保持一致,确保响应更准确且更感知上下文。
Fabric 数据代理与 Copilot 之间的差异
虽然 Fabric 数据代理和 Fabric copilot 都使用生成式 AI 来处理和推理数据,但其功能和用例中存在关键差异:
配置灵活性:可以高度配置 Fabric 数据代理。 可以提供自定义说明和示例,以便根据特定方案定制其行为。 另一方面,Fabric copilots 是预先配置的,不提供这种级别的自定义。
范围和用例:Fabric copilot 可帮助Microsoft Fabric 中的任务,例如生成笔记本代码或仓库查询。 相比之下,Fabric 数据代理是较为独立的组件。 为了能更灵活地适用于更广泛的用例,Fabric 数据代理可以与外部系统(如 Microsoft Copilot Studio、Azure AI Foundry、Microsoft Teams 或 Fabric 之外的其他工具)集成。
Fabric 数据代理的评估
产品团队严格评估 Fabric 数据代理响应的质量和安全性:
基准测试:产品团队在一系列公共和专用数据集上测试了 Fabric 数据代理,以确保其提供高质量和准确的响应。
增强的危害缓解措施:产品团队实施了安全措施,以确保 Fabric 数据代理输出仍侧重于所选数据源的上下文,从而降低不相关或误导性答案的风险。
局限性
Fabric 数据代理目前以公共预览版提供,存在限制。 将随时间推移通过更新不断改进 Fabric 数据代理。
- Fabric 数据代理仅生成 SQL、DAX 和 KQL“读取”查询。 它不会生成创建、更新或删除数据的 SQL、DAX 或 KQL 查询。
- Fabric 数据代理不支持非结构化数据,例如 .pdf、.docx或 .txt 文件。 无法使用 Fabric 数据代理访问非结构化数据资源。
- Fabric 数据代理目前不支持非英语语言。 为了获得最佳性能,请用英语提供问题、说明和示例查询。
- 无法更改 Fabric 数据代理使用的 LLM。
- Fabric 数据代理中的会话历史记录可能并不总是持久保存。 在某些情况下,例如后端基础结构更改、服务更新或模型升级,过去的会话历史记录可能会重置或丢失。