Sdílet prostřednictvím


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ískat poznámkový blok

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.

  1. Načtěte token OAuth z uživatelského rozhraní obsluhy vašeho pracovního prostoru.
    1. Kliknutím na obsluhu na bočním panelu zobrazte uživatelské rozhraní obsluhy.
    2. Na stránce Obsluha koncových bodů vyberte koncový bod optimalizovaný pro trasu a zobrazte podrobnosti o koncovém bodu.
    3. Na stránce podrobností o koncovém bodu klikněte na tlačítko Koncový bod dotazu.
    4. Vyberte kartu Načíst token.
    5. 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.
  2. Získejte adresu URL koncového bodu obsluhující model ze stránky podrobností o koncovém bodu z uživatelského rozhraní obsluhy.
  3. 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ýt query_inference_endpoint nebo manage_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.