从 Databricks 助手获取编码帮助

本文介绍如何使用 Databricks 助手来帮助你编码和调试笔记本,并提供有关如何充分利用助手的提示。

Databricks 助手能够帮助处理哪些事情?

Databricks 助手是一种上下文感知 AI 助手,可以使用对话界面与该助手交互,使你在 Databricks 中更高效。 可以使用英语描述任务,让助手生成 Python 代码或 SQL 查询、解释复杂代码并自动修复错误。 助手使用 Unity 目录元数据中的信息来分析整个公司的表、列、说明和常用数据资产,以提供个性化的响应。

Databricks 助手可帮助你完成以下任务:

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

有关启用和使用 Databricks 助手的信息,请参阅 启用并试用 Databricks 助手。 有关 Databricks 助手的一般信息,请参阅 DatabricksIQ 支持的功能

笔记本的助手命令快捷方式

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

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

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

对提示使用斜杠命令

斜线命令是创建常见提示的快捷方式。

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

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

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

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

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

在提示中使用 @ 引用表

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

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

获取有关代码的帮助

Databricks Assistant 可帮助处理 SQL 和 Python 的代码:

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

注释

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

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

键入时,会自动显示建议。 按下 Tab 接受建议。 若要手动触发建议,请按 Option+Shift+Space(在 macOS 上)或 Control+Shift+Space(在 Windows 上)。

SQL 的代码补全动态 GIF。

Python 的代码补全动画 GIF。

人工智能驱动的自动完成功能还可以从注释中生成代码。

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

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

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

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

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

调试代码:Python 和 SQL 示例

重要说明

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

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

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

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

Python语言

在 Python 中 Python 中的助手调试示例。

SQL

SQL 中的 助手调试示例。

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

快速修复

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

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

Databricks 助手内联 bug 修复用户界面的屏幕截图。

有关使用 Databricks 助手的提示

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

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

Databricks Assistant 有权访问表和列架构和元数据。 这样,就可以使用自然语言并生成更准确的查询。 例如,如果表具有名为“State”的列,则可以要求 Databricks Assistant 生成位于密歇根州的用户列表。

Databricks Assistant 使用以下上下文:

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

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

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

尽量具体

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

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

提供行级数据值的示例

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

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

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

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

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

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

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

Python语言

助手窗格中运行 Python 代码。

SQL

助手窗格中运行 SQL 代码。

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

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

其他信息

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