Note
Power BI 服务和 Power BI Desktop 中均不提供针对 AI 功能的所有准备数据的创作。 在 Copilot 存在的地方,都可以使用这些功能。
工具功能
Power BI 今天有哪些功能可帮助我为 Copilot 准备数据?
目前,Power BI 提供了四个主要工具功能,用于配置模型,以便为自然语言处理做好准备:
应按什么顺序实现 Power BI Copilot 工具功能?
若要从 Power BI Copilot 获取最大价值,建议按以下顺序实现其工具功能:
-
首先,选择特定表、字段和度量值时,Copilot 在回答数据问题时应引用这些表、 字段和度量值。
在模型开发期间,可以包含与最终用户查询无关的元素。 缩小架构有助于 Copilot 专注于模型最有意义的部分,减少多义性 - 尤其是在具有重叠或类似命名字段的大型数据集中。
下面是 AI 数据架构如何帮助 Copilot 专注于正确的数据的示例。
使用整个架构时,当 Copilot 说销售时,并不始终清楚用户的意图。 在这种情况下,Copilot 返回了 GPM 或毛利率,这是对销售的合法解释,但不是此团队通常用于分析销售的指标。
模型作者开始为 AI 准备数据,并删除传递到 Copilot 的架构中包含的总 GPM 度量值。
现在,当用户提出相同的问题时,Copilot 可以更清楚地了解从何处获取答案,并正确解释此团队定义的销售额和度量值。
-
为用户可能提出的常见或细微差别的问题设置已验证答案。
为此,请选择视觉对象,然后选择“创建已验证答案”。然后添加触发器短语,以反映用户可能如何为其问题加上短语。 当用户在 Copilot 中输入匹配或类似的短语时,它将返回受信任的视觉对象 - 确保跨报表的一致高质量响应。
以下示例显示了已验证答案的好处。 用户按区域请求销售。 Copilot 将区域解释为产品区域,并返回产品及其销售列表。 但是,用户按区域或位置查找销售。
模型作者使用包含按区域的销售额的视觉对象设置已验证的答案。 选择在视觉对象上设置已验证的答案后,模型作者将包含触发短语,当用户询问时,应返回此特定视觉响应。
现在,当用户询问按区域销售的内容时,由模型作者批准的已验证答案由 Copilot 返回。
-
定义架构和已验证答案后,使用 AI 说明指导 Copilot 在模型级别的行为。
说明有助于阐明业务逻辑、将用户术语映射到模型字段,以及指导 Copilot 如何解释或分析特定类型的数据。 它们有助于提供上下文科皮洛特不会自行推断。
以下示例演示如何使用 AI 指令向 Copilot 提供更多上下文。 用户要求在 2012 年繁忙季节销售。 忙碌的季节是一个定义完善的、常用的短语。 但是,语义模型没有任何迹象表明此术语在任何地方。 模型作者设置一个指令,即忙碌的季节定义为 6-8 月。
现在,当用户在繁忙季节再次询问有关销售的问题时,Copilot 会理解此定义的术语,并提供响应。
向表和列添加说明。
说明提供了 Copilot 可用于了解模型的额外元数据。
虽然说明目前只影响一些 Copilot 行为,但它们在未来的功能中将发挥更大的作用。 现在添加它们有助于在 Power BI 中使用自然语言交互为长期成功构建坚实的基础。
是否可以在报表而不是模型上创建工具?
目前,工具和配置功能仅在模型上可用。 尚不支持配置基于同一模型生成的不同报表。 架构、已验证的答案、说明和说明是在语义模型上设置的,而不是在报表上设置的。
为 Copilot 准备数据会影响哪些 Copilot 功能?
请参阅以下表:
| Capability | AI 数据架构 | 已验证答案 | AI 说明 | Descriptions |
|---|---|---|---|---|
| 获取报表摘要 | No | No | Yes | No |
| 询问有关报表上的视觉对象的问题 | No | Yes | Yes | No |
| 询问有关我的语义模型的问题 | Yes | Yes | Yes | No |
| 创建报表页 | No | No | Yes | No |
| 搜寻 | No | Yes | No | Yes |
| DAX 查询 | No | No | Yes | Yes |
了解要使用的功能
我试图让科皮洛特选择正确的字段。 我应使用哪个功能?
定义 AI 数据架构。
删除与用户需求无关的任何表、列或字段。 这有助于 Copilot 专注于模型最相关的部分,确保在响应查询时选择正确的字段。
对报表中的视觉对象使用已验证的答案。
如果问题的答案可以从报表中的视觉对象派生,请创建已验证的答案。 这可确保当用户使用特定触发器短语提问时,Copilot 将始终返回正确的视觉对象。
自定义特定字段的说明。
设置架构和验证答案后,可以使用 AI 说明在选择特定字段时指导 Copilot。 建议在设置其他准备数据 AI 功能后,使用说明进行微调和高级方案。 通过使用这一系列步骤,可以确保 Copilot 将最准确且上下文相关的结果返回给用户,这些结果由模型的结构和定义的说明指导。
我试图让科皮洛特理解我使用的术语。 我应使用哪个功能?
如果你有一个术语 Copilot 很难理解,在模型中始终具有相同的单个正确项来引用,则可以通过 AI 说明提供替代名称。
例如,如果你的团队调用销售产品的人员“更近”,那么最好的选择是通过将“卖家”设置为也称为“更近”来在 AI 指令中提供参考。
我试图让科皮洛特了解条件或分组条件。 我应使用哪个功能?
如果你的团队使用与模型中的表/字段不完全匹配的某些术语,那么使用 AI 说明有助于阐明具有特定条件或分组的不同项。
例如,销售团队可能会将“高性能者”分类为任何在给定月份销售超过 100% 目标的任何人。 然后,可以向 Copilot 提供以下说明:
高性能意味着满足 100 个% 或更多月目标的卖家。
现在,当用户问“上个月谁是高绩效者?”Copilot 了解团队和组织中高性能的含义的定义。
另一个示例可能是球队如何对不同赛季进行分类。 例如,Jan-May 可能在团队中被引用为慢赛季,6 月至 9 月可能是繁忙的季节,10 月至 12 月可能是标准赛季。
在 AI 说明中,可以设置以下内容:
- 慢季节 意味着1月至5月。
- 繁忙的季节 意味着 6 月至 9 月。
- 标准季节 表示 10 月至 12 月。
现在,当用户问“去年繁忙季节的总销售额是多少?”Copilot 了解用户通过繁忙季节意味着什么的时间范围。
我试图让科皮洛特返回最常见问题的正确答案。 我应使用哪个功能?
报表和数据使用者可能有常见问题,这些问题最常被问及。 解决此问题的最佳方式是向模型应用已验证的答案。 通过选择视觉对象和设置触发器短语来应用已验证的答案,当用户询问主题时,它会使用分配的视觉对象返回信息。
例如,报表和模型的消费者经常询问“上周产品销售额最高”的问题,即销售总额和金额。 设置已验证的答案有助于 Copilot 了解从何处获取正确的信息,并帮助构建作者和使用者对提供的答案的信任。
我尝试根据域或用户组获取 Copilot 返回不同的答案。 我应使用哪个功能?
目前存在的功能仅限于广泛的消耗。 目前不支持基于不同组创建术语表。 例如,如果对工程师的使用情况意味着“点击次数”,而产品经理的使用情况意味着“在给定月份向客户付费”,那么目前无法通过两种不同的方式在模型中定义“使用情况”。
为 AI 准备数据
我收到一条错误,指出“Copilot 当前正在与数据模型同步。 这是什么意思呢?
为使 Copilot 能够以最佳方式执行,Copilot 必须能够了解语义模型中的基础数据。 Power BI Copilot 尝试了解基础数据的一种方法是索引语义模型以准确搜索要匹配的相关值。 这样,Copilot 就可以根据用户的提示有效地回答问题。
考虑夏威夷旅游数据集。 回答诸如“天气如何影响茂伊旅游访问?”等问题回答问题?Copilot 需要了解 Maui 是岛表的岛名称列中语义模型中的实例值。
为了提供 Copilot 有效搜索这些实例值的能力,当启用 Q&A 并在 Power BI 检测到模型更改时重新编制索引时,语义模型将编制索引。
模型索引频率
为所有启用了 Q&A 设置的模型执行索引编制。
Note
对于 导入 模型,Q&A 设置默认处于打开状态。 有关此设置的更多详细信息,请参阅 Q&A 设置文档。
发生以下作之一时,将重新编制索引:
- 对于 导入 模型:
- 模型已发布/重新发布到服务。
- 模型是通过手动刷新或计划刷新的,在过去 14 天内使用了 Copilot/Q&A。
- 对于 直接查询 和 Direct Lake 模型:
- 模型已发布/重新发布到服务。
- 该索引早于 24 小时,过去 14 天内使用了 Copilot/Q&A。
Copilot 中的以下消息指示模型当前正在编制索引。 索引完成后,消息应自动解析。
Note
此错误并不意味着 Copilot 对用户不可用。 此消息指示在索引活动完成之前,模型中添加或更改的任何新实例值可能不会反映在 Copilot 的响应中。
索引方法
语义模型中的文本列是唯一索引的列。 通过 准备 AI 功能的数据 隐藏在 AI 架构中的列不会编制索引。
最多 500 万个实例值使用列编制索引,先对最小基数编制索引。 列的基数根据导入模型和DISTINCTCOUNT直接查询模型确定COLUMNSTATISTICS。 对于直接查询源,该 COLUMNSTATISTICS 函数将 APPROXIMATEDISTINCTCOUNT 函数用于支持它的基础数据源,以便有效地确定近似列基数。 为了进一步防止直接查询模型的基础系统因索引编制而涌入,缓存结果 COLUMNSTATISTICS ,并且统计信息每七天重新计算一次。 在索引过程中,如果将五百万个实例值上限与下一列的索引交叉,则完全跳过该列的索引。
如果达到索引限制,Copilot 仍会回答,但基于它生成的索引,不包括所有实例值。 当有问题的语义模型达到索引限制时,用户会看到以下警告。
已知的限制
- 对于大型语义模型,索引的上限为 500 万个实例值或 1,000 个模型实体(表/列)。
- 不会为 100 多个字符的文本值编制索引。
- 直接查询模型仅为支持
APPROXIMATEDISTINCTCOUNT数据源的列编制索引。 - 直接查询和 Direct Lake 模型的索引在 24 小时时间段内发生一次,除非重新发布模型。