使用 Databricks 助手

重要

此功能目前提供公共预览版。 可在预览期间免费使用该功能。 最终定价将在正式发布 (GA) 之前确定并传达。

Databricks 助手是一种上下文感知 AI 助手,可在 Databricks 笔记本、SQL 编辑器和文件编辑器中使用。 Databricks 助手支持使用对话界面查询数据,从而使你在 Databricks 中更高效。 可以使用英语描述任务,让助手生成 Python 代码或 SQL 查询,解释复杂代码,并自动修复错误。 助手使用 Unity Catalog 元数据来了解整个公司的表、列、说明和热门数据资产,以提供个性化的响应。

Databricks 助手可以执行以下任务:

  • 生成代码。
  • 调试代码,包括识别和建议错误修复。
  • 转换和优化代码。
  • 说明代码。
  • 帮助在 Azure Databricks 文档中找到相关信息。

默认情况下,Databricks 助手处于启用状态。 管理员可以为帐户中的所有工作区禁用或启用 Databricks 助手。 如果管理员允许工作区设置替代,则工作区管理员可以启用或禁用特定工作区的 Databricks 助手。 有关详细信息,请参阅启用或禁用 Databricks 助手

在审核日志中将帐户的 Databricks 助手启用捕获为帐户事件,请参阅帐户级帐户事件

其他信息

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

如何使用 Databricks 助手

Databricks 助手可以在笔记本、SQL 编辑器、文件编辑器和仪表板中使用。 本文档重点介绍笔记本。 在其他产品中的用法类似。 有关使用 Databricks 助手为仪表板创建可视化效果的信息,请参阅使用 Databricks 助手创建可视化效果

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

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

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

正在使用的内联助手的屏幕截图

还可以键入 / 来显示常见命令的列表,例如 /explain(解释单元格中的代码)、/fix(提出修补程序,如果代码有错误)和 /doc(为代码建议文档注释)。

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

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

若要在笔记本单元格中退出助手,请单击单元格右上角的 关闭助手。 如果“接受”或“拒绝”生成的代码,助手会自动关闭

使用“助手”窗格

若要打开“助手”窗格,请单击左侧栏中的 Databricks 助手图标

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

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

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

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

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

助手窗格顶部的图标

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

基于 AI 的自动完成功能

重要

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

在 Databricks 笔记本、SQL 编辑器和文件编辑器中键入时,基于 AI 的自动完成功能将提供内联代码建议。 内联代码建议适用于 Python 和 SQL。

启用和禁用内联代码建议

必须为每个用户启用此功能,如下所示:

  1. 单击“用户设置”图标“设置”。
  2. 在“实验性功能”下,切换到“Databricks 助手自动完成”

注意

  • 若要为工作区禁用此功能,请联系 Databricks。
  • 内联代码建议在 Azure 政府区域或符合 FedRAMP 的工作区中不可用。

使用内联代码建议

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

代码完成 SQL

代码完成 Python

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

基于注释的代码完成

调试代码

若要使用 Databricks 助手修复代码,请在“助手”窗格中提问,或单击发生错误时在单元格结果中显示的“诊断错误”按钮。 下面的选项卡显示了 Python 和 SQL 代码的示例。

Python

助手调试示例

Sql

助手调试示例

说明代码

Databricks 助手可以提供代码片段的详细说明。 在你提供的提示中,可以包含“简明扼要”或“逐行说明代码”等词语,以要求其提供的说明的详细程度。 还可以让 Databricks 助手向代码添加注释。

在 Azure Databricks 文档中寻找相关信息

Databricks 助手可以直接通过笔记本编辑器根据 Databricks 文档帮助回答问题。

根据 Databricks 文档回答问题

有关使用 Databricks 助手的提示

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

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

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

Databricks 助手使用以下上下文:

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

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

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

更具体些

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

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

提供行级数据值的示例

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

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

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

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

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

可以在“助手”窗格中运行代码以进行验证,或将其用作暂存板。 若要运行代码,请单击“助理”窗格中代码框左上角的 运行代码图标。 下面的选项卡显示了 Python 和 SQL 代码的示例。

Python

在助手窗格中运行代码

Sql

在助手窗格中运行代码

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

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