Delen via


Routeoptimalisatie configureren voor het leveren van eindpunten

In dit artikel wordt beschreven hoe u routeoptimalisatie configureert voor uw model voor het leveren van of functies voor eindpunten en hoe u er query's op uitvoert. Route geoptimaliseerd voor service-eindpunten aanzienlijk lagere overheadlatentie en zorgen voor aanzienlijke verbeteringen in de doorvoer die door uw eindpunt wordt ondersteund.

Optimalisatie van route wordt aanbevolen voor gevoelige workloads met een hoge doorvoer of latentie.

Vereisten

Routeoptimalisatie inschakelen op een model voor eindpunt

Geef de parameter op tijdens het route_optimized maken van het model voor eindpunten om uw eindpunt te configureren voor routeoptimalisatie. U kunt deze parameter alleen opgeven tijdens het maken van het eindpunt. U kunt bestaande eindpunten niet bijwerken om te worden gerouteerd.

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
}

U kunt routeoptimalisatie inschakelen voor een eindpunt in de gebruikersinterface van De server. Als u Python gebruikt, kunt u het volgende notebook gebruiken om een route geoptimaliseerd eindpunt te maken.

Een route geoptimaliseerd eindpunt maken met behulp van Python-notebook

Notebook downloaden

Routeoptimalisatie inschakelen op een functie die eindpunt biedt

Als u routeoptimalisatie wilt gebruiken voor functie- en functiebediening, geeft u de volledige naam op van de functiespecificatie in het entity_name veld voor het leveren van aanvragen voor het maken van eindpunten. De entity_version is niet nodig voor 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
}

Geoptimaliseerd model voor queryroute voor eindpunten

In de volgende stappen ziet u hoe u een query kunt uitvoeren op een route geoptimaliseerd model voor eindpunten.

Voor productiegebruik, zoals het gebruik van het geoptimaliseerde eindpunt voor route in een toepassing, moet u een OAuth-token maken. De volgende stappen laten zien hoe u een token ophaalt in de gebruikersinterface van De server. Zie Een OAuth-token programmatisch ophalen voor programmatische werkstromen.

  1. Haal een OAuth-token op uit de gebruikersinterface van uw werkruimte.
    1. Klik op Serveren in de zijbalk om de gebruikersinterface van de server weer te geven.
    2. Selecteer op de pagina Servereindpunten uw route geoptimaliseerd eindpunt om de details van het eindpunt te bekijken.
    3. Klik op de pagina details van het eindpunt op de knop Query-eindpunt .
    4. Selecteer het tabblad Token ophalen.
    5. Selecteer de knop OAuth-token ophalen. Dit token is 1 uur geldig. Haal een nieuw token op als uw huidige token verloopt.
  2. Haal de eindpunt-URL van uw model op via de pagina met eindpuntdetails in de gebruikersinterface van de server.
  3. Gebruik het OAuth-token uit stap 1 en de eindpunt-URL uit stap 2 om de volgende voorbeeldcode te vullen waarmee een query wordt uitgevoerd op het routegeoptimeerde eindpunt.

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

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

Als u met een Python SDK een query wilt uitvoeren op een route geoptimaliseerd eindpunt, neemt u contact op met uw Databricks-accountteam.

Een OAuth-token programmatisch ophalen

Gebruik een service-principal om te verifiëren met Azure Databricks biedt richtlijnen voor het programmatisch ophalen van een OAuth-token. Naast deze stappen moet u in de aanvraag opgeven authorization_details .

  • Vervang door <token-endpoint-URL> de url van het voorgaande tokeneindpunt.
  • Vervang door <client-id> de client-id van de service-principal, die ook wel een toepassings-id wordt genoemd.
  • Vervang <client-secret> door het OAuth-geheim van de service-principal dat u hebt gemaakt.
  • Vervang door <endpoint-id> de eindpunt-id van het eindpunt dat is geoptimaliseerd voor de route. U kunt dit ophalen uit hostName in de eindpunt-URL.
  • Vervang door <action> de actiemachtiging die aan de service-principal is verleend. De actie kan query_inference_endpoint of manage_inference_endpoint.

Voorbeeld:

      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"'"]}]'

Beperkingen

  • Routeoptimalisatie is alleen beschikbaar voor aangepaste modellen voor eindpunten en functies die eindpunten bedienen. Basismodel-API's en externe modellen worden niet ondersteund.
  • Databricks in-house OAuth-tokens zijn de enige ondersteunde verificatie voor routeoptimalisatie. Persoonlijke toegangstokens worden niet ondersteund.
  • Routeringsoptimalisatie dwingt geen Private Link-netwerkbeperkingen af die u hebt geconfigureerd in uw Azure Databricks-werkruimte. Als u wilt dat het model dat verkeer bedient, afhankelijk is van deze besturingselementen, schakelt u geen routeoptimalisatie in. Als u dergelijke netwerkvereisten hebt en nog steeds geoptimaliseerde modelservice wilt routeren, neemt u contact op met uw Databricks-accountteam.
  • Routeoptimalisatie is niet beschikbaar in bepaalde regio's. Neem contact op met uw Databricks-accountteam als u de optie voor het inschakelen van routeoptimalisatie niet ziet in de gebruikersinterface van de server.