Konfigurace optimalizace trasy pro obsluhu koncových bodů
Tento článek popisuje, jak nakonfigurovat optimalizaci tras pro obsluhu modelu nebo funkci obsluhující koncové body a jak se na ně dotazovat. Směrování optimalizované pro obsluhu koncových bodů výrazně snižuje latenci režie a umožňuje výrazné vylepšení propustnosti podporované vaším koncovým bodem.
Optimalizace tras se doporučuje pro úlohy citlivé na vysokou propustnost nebo latenci.
Požadavky
- Informace o optimalizaci tras u koncového bodu obsluhujícího model najdete v tématu Požadavky.
- Informace o optimalizaci trasy u koncového bodu obsluhující funkce najdete v tématu Požadavky.
Povolení optimalizace trasy u koncového bodu obsluhujícího model
route_optimized
Zadejte parametr během vytváření koncového bodu obsluhujícího model a nakonfigurujte koncový bod pro optimalizaci trasy. Tento parametr můžete zadat pouze během vytváření koncového bodu. Stávající koncové body nelze aktualizovat tak, aby byly optimalizovány.
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
}
Optimalizaci tras pro koncový bod můžete povolit v uživatelském rozhraní obsluhy. Pokud používáte Python, můžete pomocí následujícího poznámkového bloku vytvořit trasu optimalizovanou pro obsluhu koncového bodu.
Vytvoření koncového bodu optimalizovaného pro směrování s využitím poznámkového bloku Pythonu
Získání poznámkového bloku
Povolení optimalizace tras u koncového bodu obsluhujícího funkci
Pokud chcete použít optimalizaci tras pro obsluhu funkcí a funkcí, zadejte úplný název specifikace funkce v entity_name
poli pro obsluhu požadavků na vytvoření koncového bodu. Není entity_version
potřeba pro 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
}
Dotazování směrovaného modelu obsluhující koncové body
Následující kroky ukazují, jak otestovat dotazování koncového bodu obsluhovaného modelu optimalizovaného pro trasu.
Pro produkční použití, jako je použití koncového bodu optimalizovaného pro trasu v aplikaci, musíte vytvořit token OAuth. Následující kroky ukazují, jak načíst token v uživatelském rozhraní obsluhy. Programové pracovní postupy najdete v tématu Programové načtení tokenu OAuth.
- Načtěte token OAuth z uživatelského rozhraní obsluhy vašeho pracovního prostoru.
- Kliknutím na obsluhu na bočním panelu zobrazte uživatelské rozhraní obsluhy.
- Na stránce Obsluha koncových bodů vyberte koncový bod optimalizovaný pro trasu a zobrazte podrobnosti o koncovém bodu.
- Na stránce podrobností o koncovém bodu klikněte na tlačítko Koncový bod dotazu.
- Vyberte záložku Načtení tokenu.
- Vyberte tlačítko načíst token OAuth. Tento token je platný po dobu 1 hodiny. Pokud platnost aktuálního tokenu vyprší, načtěte nový token.
- Získejte adresu URL koncového bodu pro obsluhu modelu ze stránky s podrobnostmi o koncovém bodu v uživatelském rozhraní Obsluha.
- Pomocí tokenu OAuth z kroku 1 a adresy URL koncového bodu z kroku 2 naplňte následující ukázkový kód, který se dotazuje na koncový bod optimalizovaný pro trasu.
url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx
curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url
Pokud chcete v sadě Python SDK dotazovat koncový bod optimalizovaný pro trasu, obraťte se na svůj tým účtů Databricks.
Programové načtení tokenu OAuth
Ověřování přístupu k Azure Databricks pomocí instančního objektu pomocí OAuth (OAuth M2M) poskytuje pokyny k programovému načtení tokenu OAuth. Kromě těchto kroků musíte v požadavku zadat authorization_details
.
- Nahraďte
<token-endpoint-URL>
předchozí adresou URL koncového bodu tokenu. - Nahraďte
<client-id>
ID klienta instančního objektu, které se označuje také jako ID aplikace. - Nahraďte
<client-secret>
tajným kódem OAuth instančního objektu, který jste vytvořili. - Nahraďte
<endpoint-id>
ID koncového bodu koncového bodu optimalizovaného pro trasu. Můžete ho načíst z názvu hostitele v adrese URL koncového bodu. - Nahraďte
<action>
oprávněním akce uděleným instančnímu objektu. Akce může býtquery_inference_endpoint
nebomanage_inference_endpoint
.
Příklad:
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"'"]}]'
Omezení
- Optimalizace tras je k dispozici pouze pro vlastní model obsluhující koncové body a funkce obsluhující koncové body. Rozhraní API základního modelu a externí modely se nepodporují.
- Jediným podporovaným ověřováním pro optimalizaci tras jsou interní tokeny OAuth Databricks. Osobní přístupové tokeny se nepodporují.
- Optimalizace tras nevynucuje žádná omezení sítě Private Link , která jste nakonfigurovali v pracovním prostoru Azure Databricks. Pokud potřebujete, aby model obsluhující provoz byl vázán těmito ovládacími prvky, nepovolujte optimalizaci tras. Pokud máte takové požadavky na síť a přesto chcete vyzkoušet obsluhu modelu optimalizovaného pro směrování, obraťte se na svůj tým účtů Databricks.
- Optimalizace tras není dostupná v určitých oblastech. Pokud možnost povolit optimalizaci tras v uživatelském rozhraní obsluhy nevidíte, obraťte se na tým účtu Databricks.