向Databricks应用添加Unity Gateway 模型服务资源

Important

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

将 Unity Gateway 模型服务作为 Databricks 应用资源添加,使你的应用能够向在 Unity Catalog 中治理的 AI 模型发送推理请求,包括聊天、补全和嵌入。 Unity Gateway 模型服务包括在 system.ai 下提供的按代币付费的基础模型,以及你创建的模型服务。

注释

Unity Gateway 模型服务的使用归因仅在标准 Databricks 应用中是准确的。 运行在微型虚拟机环境中的应用,如Genie应用构建器应用,无法报告准确的使用归因。

参见 Unity Gateway 使用情况跟踪。

特权要求

要访问 Unity Gateway 模型服务,应用的服务主体必须拥有父目录上的 USE CATALOG 特权、父架构上的 USE SCHEMA 特权,以及模型服务上的 EXECUTE 特权。 当你添加模型服务资源时,Azure Databricks 会自动将这些权限授予应用的服务主体。

要使此自动授予成功,对于每个权限,以下条件之一必须为真:

  • 对于 USE CATALOG: 所有帐户用户都对目录具有 USE CATALOG 权限,或者你对目录具有 MANAGE 特权。
  • 对于 USE SCHEMA: 所有帐户用户都对架构具有 USE SCHEMA 权限,或者你对架构拥有 MANAGE 权限。
  • 对于 EXECUTE: 要么所有账户用户都对模型服务具有 EXECUTE 权限,要么你对模型服务具有 MANAGE 权限。

请参阅 Unity Catalog 权限参考。

添加 Unity Gateway 模型服务资源

在添加 Unity Gateway 模型服务作为资源之前,请先审查 应用资源的前置条件。

  1. 在创建或编辑应用时,在应用资源部分,点击+ 添加资源>模型。
  2. 在资源选择器中,从 Unity Gateway 部分选择一个模型服务。 选择器还在 “服务端点” 部分列出了自定义服务端点。 要连接其中一个端点,请参见 向Databricks应用添加模型服务端点资源。 要使用按代币付费的基础模型,请从 system.ai 目录中选择一个模型服务。
  3. 选择应用的权限级别:
    • 可执行: 赋予应用服务主体 EXECUTE 向模型服务发送推理请求的权限。 这是模型服务唯一可用的权限等级。
  4. (可选)指定一个自定义资源键,这就是你在应用配置中引用模型服务的方式。 默认键为 model.

使用 Databricks 资产包配置

如果你使用声明式自动化包来定义应用,请在包配置中将模型服务作为 uc_securable 资源添加:

resources:
  apps:
    my_app:
      name: 'my-app'
      source_code_path: ./app
      resources:
        - name: 'model'
          uc_securable:
            securable_full_name: '<catalog>.<schema>.<model_service>'
            securable_type: 'MODEL_SERVICE'
            permission: 'EXECUTE'

关于声明式自动化捆绑包中应用资源的信息,请参见 app.resources。

环境变量

当你部署带有 Unity Gateway 模型服务资源的应用时,Azure Databricks 会通过环境变量暴露模型服务的完整的三部分 Unity Catalog 名称,你可以通过该 valueFrom 字段引用。

示例配置:

env:
  - name: MODEL_SERVICE_NAME
    valueFrom: model # Use your custom resource key if you set one

该 valueFrom 字段解析为模型服务的完整三部分 Unity 目录名称(例如, system.ai.databricks-dbrx-instruct)。 通过 Azure Databricks SDK 或 Unity Gateway REST API 调用模型服务时,请使用该名称。

有关详细信息,请参阅 使用环境变量访问资源。

移除 Unity Gateway 模型服务资源

当你从应用中移除 Unity 网关模型服务资源时,应用的服务主体将失去对该模型服务的 EXECUTE 权限。 模型服务本身保持不变,并继续对拥有适当权限的其他用户和应用程序开放。

最佳做法

在使用 Unity Gateway 模型服务资源时,请考虑以下几点:

  • EXECUTE 是唯一可用的权限等级。 它赋予应用发送推理请求的权限,但不授予模型服务的管理员权限。
  • 要使用按代币付费的基础模型而无需额外设置,请从 system.ai 目录中选择模型服务。
  • 环境变量解析为完整的三部分 Unity Catalog 名称(catalog.schema.model_service)。 通过 Azure Databricks SDK 或 REST API 调用模型服务时,请使用该值。
  • 处理应用代码中的推理错误和速率限制。 Unity Gateway 执行每个模型服务上配置的速率限制和防护措施。
  • 模型资源选择器还列出了经典模型服务端点,并归入服务端点部分。 模型服务和服务端点可以共存于同一个应用中。