服务端点上的路由优化

本文介绍如何在 模型服务功能服务 终结点上启用路由优化。 路由优化的服务终结点可大幅降低开销延迟,并大幅提升终结点支持的吞吐量。

建议对高吞吐量或延迟敏感的工作负载进行路由优化。

什么是路由优化?

在终结点上启用路由优化时,Databricks 模型服务改进了推理请求的网络路径,从而加快客户端和模型之间的直接通信速度。 与非优化终结点相比,这种优化的路由可解锁更高的每秒查询数(QPS),并为应用程序提供更稳定且更低的延迟。

若要利用路由优化终结点的优势,必须对客户端进行以下更改:

  • 使用路由优化 URL:每个路由优化的终结点都具有唯一的 URL。 必须将推理请求发送到此特定 URL。
  • 使用 OAuth 令牌进行身份验证:路由优化的终结点仅支持 OAuth 令牌进行身份验证。 不支持其他身份验证机制。

要求

  • 有关 模型服务终结点的路由优化,请参阅 要求
  • 有关 功能服务终结点的路由优化,请参阅 要求

在模型服务终结点上启用路由优化

服务 UI

使用 服务 UI 创建模型服务终结点时,可以启用路由优化。 只能在创建终结点期间启用路由优化,不能更新现有终结点以优化路由。

  1. 在边栏中,单击“ 服务 ”以显示服务 UI。
  2. 单击“ 创建服务终结点”。
  3. 在“ 路由优化 ”部分中,选择“ 启用路由优化”。
  4. 创建终结点后,Databricks 会向你发送有关查询路由优化终结点所需的通知。

创建模型服务终结点

REST API

若要使用 REST API 配置服务终结点以优化路由,请在创建模型时指定 route_optimized 参数。 只能在终结点创建期间指定此参数,不能通过更新现有终结点来实现路由优化。

POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config":
  {
    "served_entities":
    [{
      "entity_name": "ads1",
      "entity_version": "1",
      "workload_type": "CPU",
      "workload_size": "Small",
      "scale_to_zero_enabled": true,
    }],
  },
  "route_optimized": true
}

Python语言

如果使用 Python,则可以使用以下笔记本来创建路由优化的服务终结点。

使用 Python 笔记本创建路由优化的服务终结点

获取笔记本

在特征服务终结点上启用路由优化

若要为特征和功能服务使用路由优化,请在 entity_name 字段中指定用于服务终结点创建请求的特征规范的完整名称。 entity_version 不需要 FeatureSpecs


POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config":
  {
    "served_entities":
    [
      {
        "entity_name": "catalog_name.schema_name.feature_spec_name",
        "workload_type": "CPU",
        "workload_size": "Small",
        "scale_to_zero_enabled": true
      }
    ]
  },
  "route_optimized": true
}

限制

  • 路由优化仅适用于自定义的模型服务终结点和特征服务终结点。 不支持使用 基础模型 API外部模型 的终结点。
  • Databricks 内部 OAuth 令牌是对路由优化唯一支持的身份验证。 不支持个人访问令牌。

其他资源