使用 Databricks 助手

Databricks 助手是一种上下文感知 AI 助手,可帮助你使用 Databricks 笔记本、SQL 编辑器、作业、AI/BI 仪表板和文件编辑器。 使用对话界面寻求帮助时,Databricks 助手可帮助处理数据和代码。

对于帐户:禁用或启用 Databricks 助手功能

默认启用 Azure AI 支持的 Databricks 助手功能。 但是,帐户管理员可以为帐户中的所有工作区禁用 Azure AI 支持的助手功能。 帐户管理员还可以为整个帐户强制启用 Databricks 助手:

提示

系统会以帐户事件的形式,在你的审核日志中记录为帐户启用或禁用 Azure AI 支持的 Databricks 助手功能的操作,请参阅帐户事件

  1. 作为帐户管理员,登录到帐户控制台

    重要

    如果 Microsoft Entra ID 租户中没有用户登录到帐户控制台,则你或租户中的其他用户必须作为第一个帐户管理员登录。为此,你必须成为 Microsoft Entra ID 全局管理员,但仅当你首次登录到 Azure Databricks 帐户控制台时才需要这样做。 首次登录时,你将成为 Azure Databricks 帐户管理员,并且不再需要使用 Microsoft Entra ID 全局管理员角色来访问 Azure Databricks 帐户。 第一个帐户管理员可以将 Microsoft Entra ID 租户中的用户分配为其他帐户管理员(这些管理员可以分配更多的帐户管理员)。 其他帐户管理员不需要 Microsoft Entra ID 中的特定角色。 请参阅管理用户、服务主体和组

  2. 单击“设置”。

  3. 单击“功能启用”选项卡。

  4. 对于“启用 Azure AI 支持的功能”选项,请选择“关闭”或“开启”。

  5. 使用“强制”设置阻止工作区替代:强制实施替代工作区设置的设置。

若要了解用于 Azure AI 支持的 Databricks 助手功能的服务,请参阅合作伙伴支持的 AI 辅助功能设置管理的功能

对于工作区:禁用或启用助手功能

如果你的帐户管理员启用了助手,则它默认在工作区中启用。 除非帐户管理员已选择强制实施该设置,否则工作区管理员可以为其工作区禁用该设置。

若要在工作区中禁用 Databricks 助手,请执行以下操作:

  1. 单击 Databricks 工作区顶部栏中的用户名 >设置
  2. 在左侧窗格中的“工作区管理员”下,单击“高级”选项卡。
  3. 若要禁用助手,请单击“Azure AI 支持的 AI 助手功能”的“关闭”开关。

助手窗格导览

本部分介绍“助手”窗格的默认体验。

若要打开“助手”窗格,请单击左侧栏中的 产品内助手图标 - 灰色

正在使用的“助手”窗格的屏幕截图。

在“助手”窗格底部的文本框中键入问题,然后按 Enter 或单击文本框右侧的 输入助手文本。。 助手会显示其答案。 以下屏幕截图显示了助手在“助手”窗格中生成代码后你可以执行的操作。

“助手”窗格中代码框顶部的图标。

可以再次运行同一查询以生成另一个答案。 为此,请将光标悬停在答案上,然后单击 重新生成查询图标。

若要关闭窗格,请再次单击该图标,或单击单元格右上角的 关闭助手图标。。 可以通过单击 打开全角图标。 将窗格展开为全宽;单击 关闭全角图标 可将窗格返回到默认宽度。

“助手”窗格顶部的图标。

即使关闭窗格或笔记本,“助手”窗格也会跟踪对话。 若要清除以前的对话,请单击“助手”窗格右上角的 清除助手图标。

线程和提示历史记录

对话线程将保存在可以使用 Databricks 助手的不同上下文中。 在“助手”窗格中,可以创建新的对话线程、查看问题和提示历史记录和管理 Databricks 助手体验。

助手窗格图标。

Databricks 助手根据提示的上下文为线程命名,以便可以浏览助手对话的历史记录。 以下示例来自一个有关笔记本的问题。

Databricks 助手线程标题的示例。

在笔记本单元格中使用 Databricks 助手

在笔记本中,Databricks 助手可在“助手”窗格中使用,也可在代码单元格中内联使用。

要直接在代码单元格中使用 Databricks 助手,请按 MacOS 上的 Cmd + i 或 Windows 上的 Ctrl + i。 单元格中将显示一个文本框。 可以用英语键入问题或注释,然后按 Enter(而不是像运行单元格一样按 Shift+Enter),以要求助手生成响应。

内联助手可帮助你查找和添加扩充数据。

对提示使用斜杠命令

斜杠命令是创建常用提示的快捷方式。

提示文本 助手的作用
/ 显示常见命令
/doc 注释差异视图中的代码
/explain 提供单元格中代码的说明
/fix 建议修复差异视图中的任何代码错误
/findTables 基于 Unity Catalog 元数据搜索相关表。
/findQueries 基于 Unity Catalog 元数据搜索相关查询。
/optimize 改进低效的 SQL 查询。
/prettify 设置代码的格式以提高可读性。
/rename 根据上下文,建议笔记本单元格和其他元素的更新名称。
/settings 直接从助手调整笔记本设置。

使用 /fix/doc 时,在差异窗口中,选择“接受”以接受建议的更改,或选择“拒绝”以保留原始代码。 如果接受建议的代码,则代码不会自动运行。 可以在运行代码之前查看代码。 如果生成的代码不是所需代码,请重新尝试,在注释中添加更多详细信息或信息。 请参阅有关使用 Databricks 助手的提示

获取代码片段的详细说明。 使用 /explain 提示并包含“简洁”或“逐行解释代码”等术语,以请求所需的详细信息级别。 还可以要求 Databricks 助手向代码添加注释。

对于代码自动完成,使用“助手”窗格可能比在笔记本单元格中性能更好。

如果“接受”或“拒绝”生成的代码,助手会自动关闭

使用 @ 在提示中引用表

若要快速引用助手提示中的表,请使用 @ (at) 符号。

使用 @ 符号在助手提示中引用表

获取有关代码的帮助

Databricks 助手可以帮助处理 SQL 和 Python 代码:

  • 在 Databricks 笔记本、SQL 编辑器和文件编辑器中基于 AI 自动完成。
  • 使用自然语言提示语筛选数据。
  • 使用 诊断错误 (公共预览版)进行代码调试。

注意

内联代码建议在 Azure 政府区域或符合 FedRAMP 的工作区中不可用。

使用自然语言提示筛选数据

使用 Databricks 助手通过自然语言提示筛选数据输出。

若要使用自然语言筛选输出,请单击输出表中的“筛选”图标并输入提示。 例如,如以下动画示例所示,可以提示“仅显示 70 岁以上的男性”。

动画 GIF 显示 Databricks 助手正在筛选泰坦尼克号幸存者名单中 70 岁以上的男性。

获取内联代码建议:Python 和 SQL 示例

当你键入时,建议会自动出现。 按 Tab 接受建议。 要手动触发建议,请按 Option + Shift + 空格键(在 macOS 上)或 Control + Shift + 空格键(在 Windows 上)。

SQL 的代码补全动画 GIF。

Python 的代码补全动画 GIF。

基于 AI 的自动完成功能还可以从注释生成代码:

注释中代码补全的动画 GIF。

调试代码:Python 和 SQL 示例

重要

此功能目前以公共预览版提供。

要使用 Databricks 助手修复代码,请执行下列操作之一:

  • 在“助手”窗格中提问。
  • 发生错误时,单击单元格结果中显示的“诊断错误”按钮。
  • 单击“调试”以交互方式逐行执行代码、设置断点、检查变量和分析程序的执行情况。

下面的选项卡显示了 Python 和 SQL 代码中的示例:

Python

Python 中的助手调试示例。

SQL

SQL 中的助手调试示例。

单击“诊断错误”时,助手会自动运行 /fix

快速修复

当代码返回错误时,快速修复会自动对可通过单行更改修复的基本错误建议修复。

单击“接受并运行”以进行建议的修复并继续运行代码:

Databricks 助手内联缺陷修复 UI 的屏幕截图。

诊断作业中的错误(公共预览版)

重要

此功能目前以公共预览版提供。

Databricks 助手可帮助诊断作业中的错误。

若要使用助手来诊断作业,请执行以下操作:

  1. 从“作业”UI 中打开一个失败的作业。
  2. 选择“诊断错误”。

带有“诊断错误”按钮的失败作业。

从 Azure Databricks 文档中获取答案

在笔记本编辑器中,Databricks 助手可以根据 Databricks 文档回答问题。 在提示框中输入问题或提示。

根据 Databricks 文档回答问题。

有关使用 Databricks 助手的提示

本部分包括使用 Databricks 助手时的一些常规提示和最佳做法。

Databricks 助手使用上下文来提供更好的答案

Databricks 助手可访问表和列架构以及元数据。 可让你使用自然语言并生成更准确的查询。 例如,如果表包含名为“州”的列,则可以要求 Databricks 助手生成居住在密歇根州的用户列表。

Databricks 助手使用以下上下文:

  • 当前笔记本单元格或 Databricks SQL 编辑器选项卡中的代码或查询。
  • 表和列的名称和说明。
  • 以前的提示问题。
  • 收藏和活动表。
  • 对于“诊断错误”功能,堆栈跟踪来自错误输出

从 DataFrame 中选择列时,可以通过提供起始查询来获取更准确的结果。 例如,提供类似于 SELECT * FROM <table_name> 的语句。 这样 Databricks 助手就可以获取列名,而无需猜测。

由于 Databricks 助手使用对话历史记录来提供更好、更准确的答案,因此可以要求 Databricks 助手更改先前响应的输出,而无需重写整个提示。 使用助手的聊天历史记录在“助手”窗格中对数据帧进行反复清理、探索、筛选和切片。

更具体些

Databricks 助手提供的结构和详细程度不时变化,即使相同的提示也是如此。 尝试为助手提供尽可能多的指导,帮助它以所需格式、详细程度等返回所需信息。 例如:

  • “用几个句子解释此代码”或“逐行解释此代码”。
  • “使用 MatPlotLib 创建可视化效果”或“使用 Seaborn 创建可视化效果”。

提供行级数据值的示例

由于 Databricks 助手不使用行级数据,因此你可能需要向提示提供更多详细信息以获取最准确的答案。 使用 Catalog Explorer 中的表或列注释添加一行示例数据。 例如,假设你的高度列采用格式 feet-inches。 为了帮助助手解释数据,请添加注释,例如“高度列采用字符串格式,并用连字符分隔。 示例:'6-2'。” 有关表格和列注释的信息,请参阅为数据和 AI 资产添加注释

如果需要使用列数据类型转换来运行操作,可能需要提供详细信息。 例如:“将此代码从 pandas 转换为 PySpark,包括将 pandas DataFrame 转换为 PySpark DataFrame 所需的代码,以及将列变动的数据类型从布尔值更改为整数”。

使用 Shift+Enter 在聊天文本框中添加新行

使用 Shift+Enter 在助手聊天文本框中添加新行。 这样可以轻松地设置消息格式并将消息组织到 Databricks 助手。

在 Databricks 助手聊天窗格中编辑和运行代码

在“助手”窗格中运行代码以进行验证,或将其用作暂存板。 若要运行代码,请单击“助理”窗格中代码框左上角的 运行代码图标

下面的选项卡显示了 Python 和 SQL 代码的示例:

Python

在助手窗格中运行 Python 代码。

SQL

在助手窗格中运行 SQL 代码。

在“助手”窗格中运行代码时,将显示输出,变量在笔记本中变得可用。

还可以编辑 Databricks 助手在将代码移动到笔记本之前直接在助手聊天框中生成的代码。

其他信息

以下文章包含有关使用 Databricks 助手的其他信息: