设置和管理 AI/BI Genie 空间

本文介绍如何设置和管理 Genie 空间,这是业务用户的聊天界面,用于询问其数据的自然语言问题。

技术要求和限制

使用 Genie 空格时,需要满足以下要求和限制:

  • Unity Catalog:Genie 空间的数据必须注册到 Unity Catalog。
  • 计算:必须使用专业版或无服务器 SQL 仓库。
  • 吞吐量:每个工作区可以跨所有 Genie 空间每分钟处理最多 20 个问题。

所需权限

创建、编辑和使用 Genie 空格需要以下权限:

  • 计算权限: Genie 空间创建者、编辑器和用户需要 CAN USE 访问为空间指定的默认 SQL 仓库。 创建者在创建空间时选择默认 SQL 仓库。 他们可以选择具有 CAN RUN 权限的任何 SQL 仓库。
  • 数据访问权限: 与空间交互的任何用户至少需要对空间中使用的数据拥有 SELECT 权限。
  • Genie 空间权限: 用户需要对 Genie 空间具有 CAN RUN 权限才能与 Genie 和空间中使用的数据进行交互。 请参阅 Genie 空间 ACL,了解 Genie 空间的特权和能力的完整映射。

注意

配置数据和计算访问权限需要较高的权限,而这些权限通常仅限于管理员。 请参阅 创建 SQL 仓库管理 Unity 目录中的特权。

管理 Genie 访问权限

Genie 使用 Azure AI 服务支持的 AI 辅助功能,这些功能必须在帐户级别启用。 若要了解如何管理帐户的这些功能,请参阅 使用 Databricks 助手

注意

你必须是帐户管理员才能管理对此功能的访问权限。 如果禁用 Azure AI 提供支持的功能,则具有 SQL 权利的用户仍可以单击侧栏中的 Genie 图标,但他们无法访问任何 Genie 空间。

创建新的 Genie 空间

Genie spaces 允许数据分析师通过执行以下步骤为业务用户创建特定于域的 Genie 空间体验:

  1. 单击边栏中“Genie”。

  2. 单击屏幕右上角的“新建”。

    “新建空间”对话框,如下列表所述。

  3. “新建”对话框中,选择初始设置。 这些选项如下所示:

  • 标题:标题与其他工作区对象一起显示在工作区浏览器中。 选择一个标题,以帮助终端用户发现你的 Genie 空间。
  • 说明:用户在打开 Genie 空间时看到说明。 使用此文本区域描述空格的用途。 说明字段支持 Markdown 格式,以便您可以设置文本的样式,并提供指向有用上下文和引用的链接。 有关 markdown 语法的详细信息,请参阅本指南
  • 默认仓库:此计算资源为 Genie 空间中生成的 SQL 语句提供支持。 最终用户需要访问此仓库才能与空间进行交互。 Genie 空间可以使用专业或无服务器 SQL 仓库。 为了获得最佳性能,Databricks 建议使用无服务器 SQL 仓库。
  • 表:Genie 空间可以基于一个或多个表。 最多可以包含 25 个表。 “添加表”按钮将打开一个新对话框,可在其中选择要包括的 Unity 目录表。
  • 示例问题:示例问题是可选的。 他们在聊天中显示,提供用户可以提出的问题类型的示例。 可在创建期间添加,也可稍后通过空间的“设置”添加它们。

提供指示

说明有助于指导 Genie 的响应,以便它可以处理给定域中的唯一行话、逻辑和概念。 全面的说明对于无缝直观的 Genie 空间体验至关重要。 若要输入说明,请单击“Genie”空间边栏中的 “说明”图标,打开说明窗格。 使用此窗格可以添加 常规说明示例 SQL 查询,以及 SQL Functions

对于 Genie 空间,总共最多可以添加 100 条说明。 以下内容计入总数:

  • 常规说明中的整个文本块算作一个整体。
  • 每个示例 SQL 查询计为一个。
  • 每个 SQL 函数计为一个。

“说明”窗格

常规指示

提供纯文本说明,以传达您的业务或回应偏好,供 Genie 遵循。 可以将说明的格式格式化为单个综合说明,或按主题对它们进行分类,以便更好地组织。

下面显示了一个可以包含在常规说明中的信息示例:

  • 公司特定的业务信息
    • “我们的财政年度从 2 月开始”
  • 值、别名或常见筛选器
    • “应用筛选器时,始终转换为小写并使用 like 运算符。”
    • “对筛选器值中的状态使用缩写。
  • 指定函数来回答问题并提供返回值的说明
    • “对于季度,请使用 adventureworks.oneb.get_quarter(date) adventureworks.oneb.get_quarter(date) UDF。 get_quarter() get_quarter() 的输出表示季度,其值可以是 1、2、3 或 4。 使用此函数可根据需要筛选数据。

示例 SQL 查询

示例 SQL 查询是准备用于帮助训练 Genie 的 SQL 查询。 Genie 智能地选择相关查询,以帮助在回答问题时生成响应。 添加示例查询时,会显示 Genie 如何使用数据回答问题。 还可以添加示例问题,向 Genie 介绍预期示例查询要回答的问题类型。 如果 Genie 收到匹配的问题,则可以直接使用示例查询来提供答案。 如果收到类似的问题,则可以使用示例查询中的线索来帮助构建响应中提供的 SQL。 重点提供突出显示组织和数据特有的逻辑的示例,如以下示例所示:

  -- Return our current total open pipeline by region.
  -- Opportunities are only considered pipelines if they are tagged as such.
  SELECT
    a.region__c AS `Region`,
    sum(o.amount) AS `Open Pipeline`
  FROM
    sales.crm.opportunity o
    JOIN sales.crm.accounts a ON o.accountid = a.id
  WHERE
    o.forecastcategory = 'Pipeline' AND
    o.stagename NOT ILIKE '%closed%'
  GROUP BY ALL;

在 SQL 查询中添加参数

使用参数可以编写包含占位符的示例查询,以便在运行时替换特定值。 使用参数,Genie 可以从用户问题获取特定输入,并重复使用示例查询的结构,以作为受信任的资产提供已验证的答案。 例如,可以调整以前的 SQL 查询以包含按 o.forecastcategory 值筛选的参数,使查询能够解决不同预测类别中标记的机会的问题。 有关如何使用参数化查询生成标记为受信任资产的响应的详细信息,请参阅 在 AI/BI Genie 空间中使用受信任资产

以下代码片段显示了上一个示例,通过为 o.forecastcategory 值添加参数进行修改。 参数使用与命名参数标记相同的语法。 请参阅命名参数标记

-- Return our current pipeline at a stage by region.
-- Opportunities are only considered pipelines if they are tagged as such.
  SELECT
    a.region__c AS `Region`,
    sum(o.amount) AS `Open Pipeline`
  FROM
    sales.crm.opportunity o
    JOIN sales.crm.accounts a ON o.accountid = a.id
  WHERE
    o.forecastcategory = :forecast_category AND
    o.stagename NOT ILIKE '%closed%'
  GROUP BY ALL;

若要向查询添加参数,请执行以下操作:

  1. 将光标置于查询中要放置参数的位置。

  2. 单击“添加参数 以插入新参数。

    这会使用默认名称 parameter创建一个新参数。 若要更改默认名称,请在查询编辑器中替换它。 还可以通过在编辑器中键入冒号和参数名称(:parameter_name)来添加参数。

编辑查询参数

若要编辑参数,请执行以下操作:

  1. 单击参数名称旁边的 齿轮图标。 将显示 参数详细信息 对话框,其中包括以下配置选项:

    • 关键字:表示查询中的参数的关键字。 只能通过直接更新查询中的文本来更改关键字。

    • 显示名称:Genie 在聊天体验中使用的人类可读名称。 Genie 使用参数化查询生成响应时,它会在响应中包含显示名称和关联值。

    • 类型:支持的类型包括 字符串日期日期和时间,以及 数值

      • 默认类型为字符串
      • 数值 数据类型允许在 十进制整数之间指定。 默认数值类型为十进制

      注意

      如果实际输入值与所选参数类型不匹配,Genie 会将输入值视为不正确的类型,这可能会导致结果不准确。

  2. 单击 UI 的另一部分以关闭对话框。

SQL 函数

SQL 函数是存储在 Unity 目录中的自定义函数,由 Genie 用来回答特定问题。 Genie 可以调用这些函数并插入任何用户指定的参数,但无法访问基础 SQL 内容。 这意味着 SQL 函数非常适合回答常见的特定问题,这些问题包括 Genie 无法访问或编辑的复杂参数或计算。 有关在 Unity 目录中注册函数的指导,请参阅 在 Unity 目录中创建 SQL 表函数用户定义的函数(UDF)。

测试 Genie 空间

大多数用户交互发生在聊天窗口中。 要了解空间是否按预期运作,最佳方式是通过业务用户预计可能会提出的实际问题进行测试。

“新建聊天”窗口,如以下文本中所述。

在设置中输入的任何示例问题都显示在聊天窗口中。 这些示例问题可帮助用户了解他们可以询问其 Genie 空间的问题。 用户输入问题的文本字段位于屏幕底部附近。

响应显示在文本字段上方。 用户输入问题后,它将保存到左窗格中的聊天历史记录线程。

若要开始新的聊天,请执行以下操作:

  1. 单击 聊天图标 聊天图标打开聊天窗口。
  2. 在“询问问题...”文本输入字段中键入你的问题。 若要启动新的聊天线程,请单击 + 新建聊天

查看响应

响应通常作为对问题的自然语言答案提供,并显示相关结果集的表。 精确的响应结构因问题而异。 所有响应都包含生成的 SQL 查询来回答问题。 单击 显示生成的代码 以查看生成的查询。

注意

Genie 与其他大型语言模型(LLM)一样,可以表现出不确定的行为。 这意味着,在多次提交同一提示时,有时可能会收到不同的输出。 提供 Genie 可以从中学习的示例 SQL 查询有助于使 Genie 更加一致。 请参阅 示例 SQL 查询

响应的右下角包括可选操作。 用户可以将响应 CSV 复制到剪贴板,将其下载为 CSV 文件,将其添加为 Genie 空间的说明,并向上投票或向下投票答案。

一组“快速操作”磁贴会跟随包含表数据的响应出现。 可以使用它们生成可视化效果。

建议不同可视化选项的快速操作按钮。

还可以在获取查询结果后,通过用语言描述来生成可视化。 请参阅生成可视化效果

格式化结果

若要在响应中设置表中的列的格式,请单击列标题中的 Kebab 菜单 kebab 菜单,然后单击 格式 查看可用选项。 格式设置选项取决于列的数据类型。

包含格式选项(如货币和百分比)的数字列。

下载结果集

空间用户可以将最多 1GB 的结果数据下载为 CSV。 最终文件下载大小可能略高于或小于 1GB,因为 1GB 限制应用于比最终文件下载的更早步骤。 若要下载结果,请单击响应中的下载图标。

生成可视化图表

用户可以使用聊天窗口显式请求可视化效果,或者通过使用跟随响应出现的“快速操作”部分中提供的建议可视化效果之一。 有时,Genie 提供一个可视化效果作为响应的一部分。 可以在聊天窗口中编辑可视化效果。

支持以下图表类型:

  • 面积
  • 酒吧
  • 折线图
  • 馅饼
  • 散点图

要编辑可视化效果:

  • 在可视化效果的右上角,单击 “编辑”图标 编辑图标。 此时会在页面右侧打开编辑窗格。
  • 使用“可视化效果”下拉菜单选择其他图表类型。
  • 对于大多数图表类型,请使用 X 轴Y 轴 下拉菜单来选择每个轴上表示的值。 对于“饼图”,请使用“角度”下拉菜单选择要表示的列。
  • (可选)若要自定义配色方案,请单击 颜色 类别中的 +
  • (可选)若要在将鼠标悬停在可视化效果上时选择要显示在工具提示中的数据,请单击 工具提示 部分中的 +

提供响应反馈

每个 AI/BI Genie 响应都包括一个拇指向上/拇指向下反馈按钮。 Databricks 建议鼓励用户使用此机制提供有关空间的反馈。

对于包含查询结果的响应,用户可以通过单击 “请求审阅”图标,请求其由 Genie 空间编辑器审阅。 如果用户对生成的响应的质量或准确性有疑问,他们可以将其标记为审阅,还可以添加其评论或问题。

业务用户可以在其“历史记录”页上查看已标记为审阅的问题的更新。 对 Genie 空间具有至少 CAN MANAGE 权限的用户可以查看特定交换、对请求发表评论以及确认或更正响应。 他们可以访问监视页上的反馈和评审请求。 然后,您可以使用这些反馈来调整响应,并对您的工作区域进行迭代改进。 请查看审阅历史记录和反馈

查看历史记录和反馈

Genie 空间旨在成为数据团队和企业用户积累知识的连续协作工具,而不是一次性部署。 了解业务用户需要解答的新问题对于知识构建至关重要。 在历史记录页上,您可以查看用户提供的单个问题和回复、点赞或点踩反馈,以及标记为审阅的单个问题。 若要打开历史记录页,请单击 Genie 空格栏中 的“历史记录”图标历史记录

显示所描述功能的示例监视页。

“历史记录”页显示该空间中曾提出的所有问题和答案。 可以按时间、分级、用户或状态筛选问题。 通过监视空间,Genie 空间编辑器可以主动了解业务用户提出的查询以及 Genie 空间的响应方式。

通过确定 Genie 难以解决的问题,可以使用特定指令更新 Genie 空间来改进其响应。 单击问题以打开问题和回复文本。 还可以从此视图中访问完整的聊天线程。

编辑生成的 SQL

可以在任何响应中查看和编辑生成的 SQL。 Genie 空间作者通常了解相关的领域和数据,这使他们能够辨别何时 Genie 会生成错误答案。 通常,可以通过少量手动优化来修复生成的 SQL 查询的错误。 若要查看生成的任何响应的 SQL,请单击 显示生成的代码 以检查查询。

如果对 Genie 空间拥有 CAN EDIT 或更高权限,则可以编辑生成的 SQL 语句以更正它。 更正后,运行查询。 然后,你可以将其保存为说明,以教 Genie 如何在将来回答。 若要保存编辑的查询,请单击 “另存为指令”图标另存为指令

共享 Genie 空间

重要

Genie 空间用户必须使用自己的凭据来访问数据。 有关他们无法访问的数据的任何问题都生成空响应。

Genie 空间用户必须对附加到 Genie 空间的仓库拥有 CAN USE 权限,并且对空间中浮出水面的 Unity 目录对象具有访问权限。 请参阅 我应使用哪些数据?

默认情况下,新建的 Genie 空间会保存到您的用户文件夹中。 与其他工作区对象一样,它们从其封闭文件夹中继承权限。 可以使用工作区文件夹结构与其他用户共享它们。 请参阅 将工作区对象组织到文件夹

还可以指定要在给定权限级别共享的某些用户或组:CAN MANAGE、CAN EDIT、CAN RUN 和 CAN VIEW。

若要与特定用户或组共享,请执行以下操作:

  1. 单击“共享”。
  2. 输入要与之共享空间的用户或组。 然后,单击 添加 并设置适当的权限级别。
  3. 使用“共享”对话框底部的“复制链接”按钮来获取指向 Genie 空间的可共享链接。 特权用户可以单击链接以在新选项卡中打开 Genie 空间并提出问题。

克隆 Genie 空间

克隆 Genie 空间会创建一个副本,包括所有设置上下文和说明。 如果你有一个开发良好的空间,并且想要为其他测试创建新的空间,或者重复使用原始空间中的上下文,这非常有用。 克隆空间后,新空间独立于原始空间,使你可以进行编辑和调整,而不会影响原始空间。

将复制以下元素到副本 Genie 空间中:

  • 表和设置
  • 常规说明
  • SQL 查询示例
  • SQL 函数

现有聊天线程和 历史记录 数据不会复制到新空间。

若要克隆 Genie 空间,请执行以下操作:

  1. 打开要克隆的 Genie 空间。
  2. 单击空间右上角的 Kebab 菜单 Kebab 菜单。
  3. 单击“克隆”。
  4. (可选)在“克隆”对话框中,指定克隆的 Genie 空间的新名称和工作区文件夹路径。
  5. 单击“克隆”以创建新空间。

空间准备的最佳做法

有关最佳实践和故障排除指导,请参阅策划高效运营的 Genie 空间

监视使用情况

可以使用审核日志监视 Genie 空间的使用情况。 请参阅 AI/BI Genie 事件