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