Konfigurera routningsoptimering på serverdelsslutpunkter
Den här artikeln beskriver hur du konfigurerar routningsoptimering på modellservern eller funktionsserverslutpunkterna och hur du frågar efter dem. Routningsoptimerade serverslutpunkter ger avsevärt lägre svarstid och möjliggör betydande förbättringar av det dataflöde som stöds av slutpunkten.
Routningsoptimering rekommenderas för känsliga arbetsbelastningar med högt dataflöde eller svarstid.
Krav
- Routningsoptimering för en modell som betjänar slutpunkten finns i Krav.
- Routningsoptimering för en funktionsserverslutpunkt finns i Krav.
Aktivera routningsoptimering på en modell som betjänar slutpunkten
Ange parametern route_optimized
när en modell som betjänar slutpunkten skapas för att konfigurera slutpunkten för routningsoptimering. Du kan bara ange den här parametern när slutpunkten skapas. Du kan inte uppdatera befintliga slutpunkter som ska vägoptimeras.
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
}
Du kan aktivera routningsoptimering för en slutpunkt i användargränssnittet för servering. Om du använder Python kan du använda följande notebook-fil för att skapa en vägoptimerad serverslutpunkt.
Skapa en routningsoptimerad serverslutpunkt med hjälp av Python Notebook
Aktivera routningsoptimering på en funktion som betjänar slutpunkten
Om du vill använda routningsoptimering för funktions- och funktionsservern anger du det fullständiga namnet på funktionsspecifikationen entity_name
i fältet för att hantera begäranden om att skapa slutpunkter. entity_version
Behövs inte för 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
}
Frågevägsoptimerad modell som betjänar slutpunkter
Följande steg visar hur du testar frågor mot en routningsoptimerad modell som betjänar slutpunkten.
För produktionsanvändning, som att använda din vägoptimerade slutpunkt i ett program, måste du skapa en OAuth-token. Följande steg visar hur du hämtar en token i användargränssnittet för servering. Programmatiska arbetsflöden finns i Hämta en OAuth-token programmatiskt.
- Hämta en OAuth-token från användargränssnittet för din arbetsyta.
- Klicka på Servering i sidopanelen för att visa användargränssnittet för servering.
- På sidan Serveringsslutpunkter väljer du din vägoptimerade slutpunkt för att se slutpunktsinformation.
- På sidan slutpunktsinformation klickar du på knappen Fråga slutpunkt .
- Välj fliken Hämta token .
- Välj knappen Hämta OAuth-token . Den här token är giltig i 1 timme. Hämta en ny token om din aktuella token upphör att gälla.
- Hämta din modell som betjänar slutpunkts-URL:en från sidan med slutpunktsinformation från användargränssnittet för servering .
- Använd OAuth-token från steg 1 och slutpunkts-URL:en från steg 2 för att fylla i följande exempelkod som frågar den vägoptimerade slutpunkten.
url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx
curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url
Kontakta ditt Databricks-kontoteam om du vill att en Python SDK ska köra frågor mot en routningsoptimerad slutpunkt.
Hämta en OAuth-token programmatiskt
Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M) ger vägledning om hur du hämtar en OAuth-token programmatiskt. Utöver dessa steg måste du ange authorization_details
i begäran.
- Ersätt
<token-endpoint-URL>
med den föregående tokenslutpunkts-URL:en. - Ersätt
<client-id>
med tjänstens huvudnamns klient-ID, som även kallas program-ID. - Ersätt
<client-secret>
med tjänstens huvudnamns OAuth-hemlighet som du skapade. - Ersätt
<endpoint-id>
med slutpunkts-ID:t för den routningsoptimerade slutpunkten. Du kan hämta detta från hostName i slutpunkts-URL:en. - Ersätt
<action>
med åtgärdsbehörigheten som ges till tjänstens huvudnamn. Åtgärden kan varaquery_inference_endpoint
ellermanage_inference_endpoint
.
Till exempel:
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"'"]}]'
Begränsningar
- Routningsoptimering är endast tillgängligt för anpassade modeller som betjänar slutpunkter och funktionsserverslutpunkter. Foundation Model-API:er och externa modeller stöds inte.
- Interna OAuth-token för Databricks är den enda autentisering som stöds för routningsoptimering. Personliga åtkomsttoken stöds inte.
- Routningsoptimering tillämpar inte några begränsningar för Private Link-nätverk som du har konfigurerat på din Azure Databricks-arbetsyta. Om du behöver att den modell som betjänar trafiken ska bindas av dessa kontroller ska du inte aktivera routningsoptimering. Om du har sådana nätverkskrav och fortfarande vill prova routningsoptimerad modellservering kontaktar du ditt Databricks-kontoteam.
- Routningsoptimering är inte tillgängligt i vissa regioner. Om du inte ser alternativet för att aktivera routningsoptimering i användargränssnittet för servering kontaktar du ditt Databricks-kontoteam.