使用 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 助手的提示。
对于代码自动完成,使用“助手”窗格可能比在笔记本单元格中性能更好。
若要在笔记本单元格中退出助手,请单击单元格右上角的 。 如果“接受”或“拒绝”生成的代码,助手会自动关闭。
使用“助手”窗格
若要打开“助手”窗格,请单击左侧栏中的 。
在“助手”窗格底部的文本框中键入问题,然后按 Enter 或单击文本框右侧的 。 助手会显示其答案。 以下屏幕截图显示了助手在“助手”窗格中生成代码后你可以执行的操作。
可以再次运行同一查询以生成另一个答案。 为此,请将光标悬停在答案上,然后单击 。
若要关闭窗格,请再次单击该图标,或单击单元格右上角的 。 可以通过单击 将窗格展开为全宽;单击 可将窗格返回到默认宽度。
即使关闭窗格或笔记本,“助手”窗格也会跟踪对话。 若要清除以前的对话,请单击“助手”窗格右上角的 。
基于 AI 的自动完成功能
重要
此功能目前以公共预览版提供。
在 Databricks 笔记本、SQL 编辑器和文件编辑器中键入时,基于 AI 的自动完成功能将提供内联代码建议。 内联代码建议适用于 Python 和 SQL。
启用和禁用内联代码建议
必须为每个用户启用此功能,如下所示:
- 单击“设置”。
- 在“实验性功能”下,切换到“Databricks 助手自动完成”。
注意
- 若要为工作区禁用此功能,请联系 Databricks。
- 内联代码建议在 Azure 政府区域或符合 FedRAMP 的工作区中不可用。
使用内联代码建议
当你键入时,建议会自动出现。 按 Tab 接受建议。 要手动触发建议,请按 Option + Shift + 空格键 (macOS) 或 Control + Shift + 空格键 (Windows)。
基于 AI 的自动完成功能还可以从注释生成代码:
调试代码
若要使用 Databricks 助手修复代码,请在“助手”窗格中提问,或单击发生错误时在单元格结果中显示的“诊断错误”按钮。 下面的选项卡显示了 Python 和 SQL 代码的示例。
Python
Sql
说明代码
Databricks 助手可以提供代码片段的详细说明。 在你提供的提示中,可以包含“简明扼要”或“逐行说明代码”等词语,以要求其提供的说明的详细程度。 还可以让 Databricks 助手向代码添加注释。
在 Azure 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 助手在将代码移动到笔记本之前直接在助手聊天框中生成的代码。