什么是 AI/BI Genie 空间

本文介绍 AI/BI Genie,这是一项 Azure Databricks 功能,它允许业务团队使用自然语言与其数据进行交互。 它使用专为组织的术语和数据定制的生成 AI,并能够通过用户反馈监视和优化其性能。

概述

领域专家(例如数据分析师)使用数据集、示例查询和文本指南配置 Genie 空间,帮助 Genie 将业务问题转化为分析查询。 设置后,业务用户可以提出问题并生成可视化效果以了解运营数据。 随着你的数据更改和用户提出新问题,你可能不断更新 Genie 的语义知识。 有关 DatabricksIQ 的更多信息,请参阅 DatabricksIQ 支持的功能

AI/BI Genie 从带批注的表和列中选择相关名称和说明,以将自然语言问题转换为等效的 SQL 查询。 然后,如果可能,它会使用生成的查询和结果表做出响应。 如果 Genie 无法生成答案,可以在提供回复之前提出后续问题来澄清。

示例用例:

可以创建不同的 Genie 空间来服务各种非技术受众。 以下场景描述了两种可能的用例。

示例 1:可视化机会状态

销售经理希望了解其销售渠道中各个阶段开放和已关闭机会的当前状态。 他们可以使用自然语言与 Genie 空间进行交互,并自动生成可视化结果。

下面的 gif 显示了这种交互:

包含示例问题、回答和自动生成的可视化效果的 Gif

示例 2:跟踪物流

一家物流公司希望使用 Genie 空间帮助不同部门的业务用户跟踪运营和财务详细信息。 他们为货运设施经理设立了一个 Genie 空间来跟踪货运情况,并为财务主管设立了另一个空间来了解其财务状况。

Genie 如何生成响应

Genie 使用 复合 AI 系统 来解释业务问题和生成答案。 复合 AI 系统通过组合多个交互组件来处理 AI 应用程序中的任务,而不是使用单个大型语言模型。 复合 AI 系统是 AI 应用程序的越来越常见的设计模式,因为它们的性能和灵活性。 有关详细信息,请参阅 从模型转移到复合 AI 系统

当用户提交问题时,Genie 会分析请求、标识相关的数据源,并确定如何响应提示。 你提供的说明与 Unity 目录元数据相结合,允许 Genie 推断业务和技术逻辑。 Genie 智能地筛选示例 SQL 查询、表和列元数据以及聊天历史记录,以选择响应请求的最相关信息。

Genie 使用以下组件生成响应:

  • 表元数据:包括表名称、说明和定义的主键(PK)和外键(FK)关系。 Genie 使用此数据,因为它分析请求并将自然语言提示转换为 SQL。
  • 列名和描述:Genie 可智能筛选要包含的相关列名和描述。
  • 示例 SQL 查询:Genie 从 指令智能地选择相关的 SQL 示例。
  • SQL 函数:已添加到空间中的所有 SQL 函数。
  • 说明:作为“常规说明”提供的纯文本说明以上下文形式提供。
  • 提示和响应历史记录:当前聊天中的提示和响应作为上下文包含在内。 由于设置了令牌限制,将根据需要排除时间最早的聊天记录。

注意

默认情况下不包括某些表详细信息,例如所有者和表大小。 若要访问此信息,请使用可用于所有 Unity 目录的信息架构中的视图。 默认视图可能包含不必要的详细信息,因此,基于该视图创建自定义视图有助于专注于所需的特定信息。 有关信息架构中可用内容的详细信息,请参阅 信息架构

如果 Genie 以结果返回查询,则会在指定的 SQL 仓库上运行。 重试处理自动化,SQL 仓库负责并发性和扩展性。

应使用什么数据?

Genie 空间可以包括向 Unity Catalog 注册的一个或多个表,包括托管表、外部表、外表、视图和具体化视图。 AI/BI Genie 使用附加到 Unity Catalog 对象的元数据来生成回复。 带有明确批注的数据集以及你提供的具体指令,是为最终用户创造积极体验的关键。

Databricks 建议如下:

  • 整理数据以供分析使用:分层视图以减少列数并添加特定于用例的信息以提高回复质量。
  • 最小化 Genie 空间中的表和列数:仅包含回答给定域问题所需的表和列。 不必要的表或列可能会导致 Genie 提供令人困惑或不正确的答案或显示错误消息。
  • 定义主键(PK)/外键(FK)关系:使用 Unity 目录定义 PK/FK 关系,以便 Genie 了解数据的连接方式。

受信任资产

可信资产为空间用户的结果准确性增加一层保障。 当参数化示例查询或 SQL 函数的确切文本用于生成响应时,Genie 会将响应标记为受信任资产。 请参阅在 AI/BI Genie 空间中使用受信任的资产

聊天线程

大多数 Genie 空间交互都在聊天窗口中进行。 聊天线程保存每个用户的交互记录。 每个聊天线程都会维持有关以前问到过的问题的上下文。 Genie 使用线程聊天历史记录中的上下文来学习,因为用户提出后续问题来进一步探索或重新聚焦结果集。

至少对空间具有 CAN VIEW 访问权限的用户可以查看自己的聊天历史记录。 具有至少 CAN EDIT 权限的用户可以查看空间 历史记录 选项卡中的所有问题和答案。

查看响应

大多数响应包括自然语言说明和显示相关结果集的表。 当 Genie 检测到可视化效果可以提高响应清晰度时,它还返回可视化效果。 精确的回复结构因问题而异。 所有回复都包含为回答问题而生成的 SQL 查询。

空间用户和作者可以查看其问题的回复。 他们可以使用拇指向上或拇指朝下对每个响应进行评级,或者请求对响应进行审核。 空间编辑器和作者可以使用 Genie 空间中的“历史记录”图标历史记录 选项卡查看此反馈。

使用基准评估响应

通过基准测试,你可以纵向扩展 Genie 空间中的各个响应的测试和评估。 与指令不同,基准测试旨在评估你的 Genie 空间,而不是向你发出通知。 Genie 不会使用基准问题或示例 SQL 来改进 Genie 的上下文。

使用基准测试,可以运行一系列测试问题,并使用响应来衡量 Genie 的准确度。 (可选)可以包含返回预期结果的 SQL 语句。 基准问题运行时,Genie 的响应与 SQL 语句提供的结果进行比较,并针对准确性评分。 如果未提供 SQL 答案,则会标记问题以供评审。

请参阅在 Genie 空间中使用基准

隐私和安全

问:Genie 使用什么模型?

Genie 使用 Azure OpenAI 模型。

问:正在向模型发送哪些数据?

Genie spaces 使用元数据和说明生成对自然语言问题的响应。 Genie 无权访问行级数据。

为了处理响应,Genie 使用以下方法:

  • 用户提交的自然语言提示
  • 表名称和说明
  • 列标题和说明
  • 常规说明
  • 示例 SQL 查询
  • SQL 函数

问:Azure OpenAI 是否收集数据?

否。 Databricks 已选择免除滥用监视和人工审查计划,根据该计划,Microsoft不存储发送到 Azure OpenAI 服务的任何提示和完成。 有关详细信息,请参阅 Microsoft的文档