Freigeben über


Konfigurieren der Routenoptimierung für Bereitstellungsendpunkte

In diesem Artikel wird beschrieben, wie Sie die Routenoptimierung für Ihre Modellbereitstellungs- bzw. Featurebereitstellungsendpunkte konfigurieren und wie Sie diese abfragen. Durch die Routenoptimierung für Bereitstellungsendpunkte kann die Overheadlatenz drastisch gesenkt werden, was erhebliche Verbesserungen des vom Endpunkt unterstützten Durchsatzes ermöglicht.

Die Routenoptimierung wird für Workloads mit hohem Durchsatz oder latenzempfindliche Workloads empfohlen.

Anforderungen

  • Informationen zur Routenoptimierung für einen Modellbereitstellungsendpunkt finden Sie unter Anforderungen.
  • Informationen zur Routenoptimierung für einen Featurebereitstellungsendpunkt finden Sie unter Anforderungen.

Aktivieren der Routenoptimierung für einen Modellbereitstellungsendpunkt

Geben Sie den Parameter route_optimized während der Erstellung des Modellbereitstellungsendpunkts an, um den Endpunkt für die Routenoptimierung zu konfigurieren. Sie können diesen Parameter nur während der Endpunkterstellung angeben. Das Aktualisieren vorhandener Endpunkte für die Routenoptimierung ist nicht möglich.

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
}

Sie können die Routenoptimierung für einen Endpunkt auf der Bereitstellungsbenutzeroberfläche aktivieren. Wenn Sie Python verwenden, können Sie das folgende Notebook verwenden, um einen routenoptimierten Bereitstellungsendpunkt zu erstellen.

Erstellen eines routenoptimierten Bereitstellungsendpunkts mithilfe eines Python-Notebooks

Notebook abrufen

Aktivieren der Routenoptimierung für einen Featurebereitstellungsendpunkt

Geben Sie im Feld entity_name für Anforderungen zur Erstellung von Bereitstellungsendpunkten den vollständigen Namen der Featurespezifikation an, um die Routenoptimierung für die Feature- und Funktionsbereitstellung zu verwenden. entity_version wird für FeatureSpecs nicht benötigt.


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
}

Abfragen von routenoptimierten Modellbereitstellungsendpunkten

Die folgenden Schritte zeigen, wie Sie einen routenoptimierten Modellbereitstellungsendpunkt testweise abfragen können.

Für die Verwendung in der Produktion (z. B. Verwendung des routenoptimierten Endpunkts in einer Anwendung) müssen Sie ein OAuth-Token erstellen. Die folgenden Schritte zeigen, wie Sie ein Token auf der Bereitstellungsbenutzeroberfläche abrufen. Informationen zu programmgesteuerten Workflows finden Sie unter Programmgesteuertes Abrufen eines OAuth-Tokens.

  1. Rufen Sie über die Bereitstellungsbenutzeroberfläche Ihres Arbeitsbereichs ein OAuth-Token ab.
    1. Klicken Sie in der Seitenleiste auf Bereitstellung, um die Benutzeroberfläche für die Bereitstellung anzuzeigen.
    2. Wählen Sie auf der Seite für Bereitstellungsendpunkte den routenoptimierten Endpunkt aus, um die Endpunktdetails anzuzeigen.
    3. Klicken Sie auf der Seite mit den Endpunktdetails auf die Schaltfläche Endpunkt abfragen.
    4. Wählen Sie die Registerkarte Token abfragen aus.
    5. Klicken Sie auf die Schaltfläche OAuth-Token abrufen. Dieses Token ist 1 Stunde lang gültig. Rufen Sie ein neues Token ab, wenn Ihr aktuelles Token abläuft.
  2. Rufen Sie die URL Ihres Modellbereitstellungsendpunkts über die Bereitstellungsbenutzeroberfläche auf der Endpunktdetailseite ab.
  3. Verwenden Sie das OAuth-Token aus Schritt 1 und die Endpunkt-URL aus Schritt 2, um den folgenden Beispielcode aufzufüllen, der den routenoptimierten Endpunkt abfragt.

url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx

curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url

Wenden Sie sich an das Databricks-Kontoteam, um zu erfahren, wie Sie einen routenoptimierten Endpunkt mit einem Python-SDK abfragen können.

Programmgesteuertes Abrufen eines OAuth-Tokens

Verwenden eines Dienstprinzipals zur Authentifizierung mit Azure Databricks enthält Anleitungen zum programmgesteuerten Abrufen eines OAuth-Tokens. Zusätzlich zu diesen Schritten müssen Sie authorization_details in der Anforderung angeben.

  • Ersetzen Sie <token-endpoint-URL> durch die zuvor erwähnte Tokenendpunkt-URL.
  • Ersetzen Sie <client-id> durch die Client-ID des Dienstprinzipals, die auch als Anwendungs-ID bezeichnet wird.
  • Ersetzen Sie <client-secret> durch das von Ihnen erstellte OAuth-Geheimnis des Dienstprinzipals.
  • Ersetzen Sie <endpoint-id> durch die Endpunkt-ID des routenoptimierten Endpunkts. Sie können dies über „hostName“ in der Endpunkt-URL abrufen.
  • Ersetzen Sie <action> durch die Aktionsberechtigung, die dem Dienstprinzipal zugewiesen wurde. Die Aktion kann query_inference_endpoint oder manage_inference_endpoint sein.

Zum Beispiel:

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      export ENDPOINT_ID=<endpoint-id>
      export ACTION=<action>

      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      --data-urlencode 'authorization_details=[{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"'"/serving-endpoints/$ENDPOINT_ID"'","actions": ["'"$ACTION"'"]}]'

Begrenzungen

  • Die Routenoptimierung ist nur für benutzerdefinierte Modellbereitstellungsendpunkte und Featurebereitstellungsendpunkte verfügbar. Basismodell-APIs und externe Modelle werden nicht unterstützt.
  • Interne OAuth-Token von Databricks sind die einzige unterstützte Authentifizierungsoption für die Routenoptimierung. Persönliche Zugriffstokens werden nicht unterstützt.
  • Die Routenoptimierung erzwingt keine Private Link-Netzwerkeinschränkungen, die Sie in Ihrem Azure Databricks-Arbeitsbereich konfiguriert haben. Aktivieren Sie die Routenoptimierung nicht, wenn Sie möchten, dass der Datenverkehr im Zusammenhang mit der Modellbereitstellung durch diese Steuerelemente gebunden sein soll. Wenn Sie über solche Netzwerkanforderungen verfügen und trotzdem eine routenoptimierte Modellbereitstellung ausprobieren möchten, wenden Sie sich an das Databricks-Kontoteam.
  • Die Routenoptimierung ist in bestimmten Regionen nicht verfügbar. Wenn die Option zum Aktivieren der Routenoptimierung auf der Bereitstellungsbenutzeroberfläche nicht angezeigt wird, wenden Sie sich an das Databricks-Kontoteam.