从 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 上)。
人工智能驱动的自动完成功能还可以从注释中生成代码。
使用自然语言提示筛选数据
使用 Databricks 助手通过自然语言提示筛选数据输出。
若要使用自然语言筛选输出,请单击输出表中的“筛选器”图标并输入提示。 例如,如下面的动画示例所示,可以提示“仅显示超过 70 的男性”。
调试代码:Python 和 SQL 示例
重要说明
此功能目前以公共预览版提供。
若要使用 Databricks Assistant 修复代码,请执行下列操作之一:
- 在“助理”窗格中提问。
- 发生错误时,单击单元格结果中显示的“诊断错误”按钮。
- 单击“调试”以交互方式逐行执行代码、设置断点、检查变量和分析程序的执行情况。
以下选项卡显示了 Python 和 SQL 代码中的示例:
Python语言
在 Python 中
SQL
SQL 中的
单击 诊断错误时,助手会自动运行 /fix
。
快速修复
当代码返回错误时,快速修复会自动建议修复可在单行更改中修复的基本错误。
单击“接受并运行,进行建议的修复并继续运行代码:
有关使用 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语言
SQL
在“助手”窗格中运行代码时,将显示输出,变量在笔记本中可用。
您还可以在将代码移动到笔记本之前,直接在 Databricks 助手聊天框中编辑其生成的代码。
其他信息
以下文章包含有关使用 Databricks 助手的其他信息: