Databricks 助手是什么?

重要

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

Databricks 助手充当基于 AI 的助手对编程程序,使你在创建笔记本、查询和文件时更高效。 它可以帮助你通过生成、优化、完成、解释和修复代码和查询来快速回答问题。

本页以常见问题的形式提供有关助手的一般信息。 有关隐私和安全的问题,请参阅隐私和安全

启用或禁用 Databricks 助手

默认情况下,Databricks 助手处于启用状态。

要为 Databricks 助手启用或禁用帐户中的所有工作区,请按照以下说明操作:

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

    重要

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

  2. 单击“设置”设置图标

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

  4. 在“Azure AI 服务支持的 AI 辅助功能”部分中,选择“已启用”或“已禁用”,然后单击“保存”。 可以通过将“强制”开关设置为“开”来阻止此功能的工作区设置替代。

如果帐户设置允许工作区设置替代,则工作区管理员可以启用或禁用特定工作区。 为此,请使用工作区设置替代帐户控制台中的默认设置,如下所示:

  1. 转到工作区“管理员设置”页。
  2. 单击“高级” 选项卡。
  3. 使用“Azure AI 服务支持的 AI 辅助功能”下拉菜单进行选择。
  4. 单击“ 保存”。

使用 Databricks 助手获取编码建议和帮助

要访问 Databricks 助手,请单击笔记本、文件编辑器、SQL 编辑器或仪表板的“数据”选项卡的左侧栏中的“助手”图标 Databricks 助手图标

Databricks 助手图标位置

“助手”面板将在屏幕左侧打开。

Databricks 助手面板

Databricks 助手的一些功能如下:

  • 生成:使用自然语言生成 SQL 查询。
  • 说明:突出显示查询或代码块,让 Databricks 助手用清晰、简洁的英语演练逻辑。
  • 修复:只需单击一下即可解释和修复语法和运行时错误。
  • 转换和优化:将 Pandas 代码转换为 PySpark 以加快执行速度。

Databricks 助手生成的任何代码都用于在 Databricks 计算环境中执行。 它经过优化,可在 Databricks 支持的编程语言、框架和方言中创建代码。 它不用作常规用途的编程助手。 该助手通常会使用 Databricks 知识库(例如文档)中的信息,以便更好地回答用户查询。 当用户问题与可用 Databricks 文档、Unity Catalog 和工作区内用户代码中的知识回答的问题相关时,该助手表现最佳。

在执行之前,用户应始终查看助手生成的任何代码,因为它有时可能会出错。

使用适用于仪表板的 Databricks 助手创建可视化效果

在创建仪表板草稿时,可以使用 Databricks 助手。 在现有仪表板数据集上创建可视化效果时,请用问题提示助手,以便接收采用生成的图表形式的响应。 若要在仪表板中使用助手,请先创建一个或多个数据集,然后将可视化小组件添加到画布。 可视化小组件包括描述新图表的提示。 键入要查看的图表的描述,助手将会生成相应的图表。 可以批准或拒绝图表,或修改描述以生成新的图表。 有关将助手与仪表板仪表板配合使用的详细信息和示例,请参阅使用 Databricks 助手创建可视化效果

Databricks 助手使用的服务

Databricks Assistant 使用 Azure OpenAI 服务提供响应。 Azure OpenAI 服务由 Microsoft 而不是 OpenAI 运营,并受其各自的数据管理策略约束。 发送到此服务的数据不用于任何模型训练。 对于 Azure OpenAI,Azure Databricks 已选择禁用滥用监视,因此对于 Azure OpenAI 不会存储任何提示或响应。 有关详细信息,请参阅 Azure 数据管理策略

用于提高返回结果准确性的提示

  • 尽可能具体。 指定数据外观的表和示例。
  • Databricks 助手了解表和列架构以及元数据。 可让你使用自然语言并生成相当准确的查询。 例如,如果表包含列 userIDState,则可以要求 Databricks 助手生成居住在华盛顿的用户列表。
  • Databricks 助手仅有权访问表和列元数据,无权访问行级数据。 因此,如果实际数据具有唯一的形状,它可能无法正确编写查询。 例如,如果有一个名为 Price 的列,并且每个值都附加一个国家/地区面值(例如,$10.99 USD、$5.99 CAD),则返回的查询可能难以对该列求和,因为它不是十进制数。 尝试向 Databricks 助手提供用于分析该列的特定说明。 例如,“对饼干总收入求和。 Price 是一个字符串列,它在每个货币值后面附加了国家/地区面值(如 $10.99 USD)”。

Databricks 助手会考虑对话的历史记录,以便你可以根据需要优化问题。

提供反馈

发送反馈的最佳方式是使用笔记本和 SQL 编辑器中的“提供反馈”链接。 还可以向 assistant-feedback@databricks.com 或向帐户团队发送电子邮件。

我们主要希望了解产品改进建议和用户体验问题,而不在意反馈是否及时准确。 如果收到来自助手的无用建议,请单击“无用”拇指向下按钮,让我们捕获该反馈。

隐私和安全

问:向模型发送哪些数据?

Databricks 助手将代码和元数据发送到每个 API 请求上的模型。 这有助于为数据返回更相关的结果。 示例包括:

  • 当前笔记本单元格或 SQL 编辑器选项卡中的代码/查询
  • 表和列的名称和说明
  • 以前的问题
  • 收藏表

问:发送到模型的元数据是否遵循用户的 Unity Catalog 权限?

是,发送到模型的所有数据都遵循用户的 Unity Catalog 权限,因此不会发送与用户无权查看的表相关的元数据。

问:如果我使用结果执行查询,然后提出一个问题,我的查询结果是否会发送到模型?

否,仅与模型共享单元格中的代码内容、有关表的元数据以及用户输入的文本。 对于“修复错误”功能,Databricks 还共享错误输出中的堆栈跟踪。

问:Databricks 助手会执行危险代码吗?

不是。 Databricks 助手不会代表你自动执行代码。 AI 模型可能会犯错误、误解意图、产生幻觉或给出不正确的答案。 在执行之前,请务必查看 AI 生成的代码。

问:Databricks 是否进行了任何评估来评估助手响应的准确性和适当性?

是的。 Databricks 已经采取了缓解措施,以防止助手生成有害的响应,例如仇恨言论、不安全的代码、提示越狱和第三方版权内容。 Databricks 使用数千条模拟的用户输入对我们的 AI 辅助功能进行了广泛的测试,以评估缓解措施的可靠性。 这些评估侧重于助手的预期用例,例如使用 Python、Databricks SQL、R 和 Scala 语言生成代码的情况。

问:是否可以对处理受管制数据的表使用 Databricks 助手(PHI、PCI、IRAP、FedRAMP)?

是的。 要这样做,你必须符合启用合规性安全配置文件等要求,并将相关合规性标准添加为合规性安全配置文件配置的一部分。