Udostępnij za pośrednictwem


Konfigurowanie optymalizacji tras w punktach końcowych obsługujących

W tym artykule opisano sposób konfigurowania optymalizacji tras dla modelu obsługującego lub obsługującego funkcje punktów końcowych oraz sposobu wykonywania zapytań względem nich. Routing zoptymalizowany pod kątem punktów końcowych obsługujących znacznie mniejsze opóźnienia związane z obciążeniem i umożliwia znaczne ulepszenia przepływności obsługiwanej przez punkt końcowy.

Optymalizacja tras jest zalecana w przypadku obciążeń wrażliwych na wysoką przepływność lub opóźnienia.

Wymagania

  • Aby uzyskać informacje na temat optymalizacji tras w punkcie końcowym obsługującym model, zobacz Wymagania.
  • Aby uzyskać informacje na temat optymalizacji tras w punkcie końcowym obsługującym funkcję, zobacz Wymagania.

Włączanie optymalizacji tras w punkcie końcowym obsługującym model

Określ parametr podczas tworzenia punktu końcowego obsługującego route_optimized model, aby skonfigurować punkt końcowy na potrzeby optymalizacji tras. Ten parametr można określić tylko podczas tworzenia punktu końcowego. Nie można zaktualizować istniejących punktów końcowych do zoptymalizowania trasy.

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
}

Optymalizację tras dla punktu końcowego można włączyć w interfejsie użytkownika obsługującego. Jeśli używasz języka Python, możesz użyć poniższego notesu, aby utworzyć punkt końcowy obsługi zoptymalizowanej pod kątem trasy.

Tworzenie zoptymalizowanego pod kątem trasy punktu końcowego obsługującego przy użyciu notesu języka Python

Pobierz notes

Włączanie optymalizacji tras w punkcie końcowym obsługującym funkcję

Aby użyć optymalizacji tras dla funkcji i obsługi funkcji, określ pełną nazwę specyfikacji funkcji w entity_name polu do obsługi żądań tworzenia punktów końcowych. Element entity_version nie jest wymagany w przypadku elementu 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
}

Zapytania dotyczące zoptymalizowanego modelu obsługującego punkty końcowe

W poniższych krokach pokazano, jak przetestować zapytanie dotyczące punktu końcowego obsługującego model zoptymalizowany pod kątem trasy.

W przypadku użycia w środowisku produkcyjnym, na przykład przy użyciu zoptymalizowanego punktu końcowego trasy w aplikacji, należy utworzyć token OAuth. W poniższych krokach pokazano, jak pobrać token w interfejsie użytkownika obsługującego. Aby uzyskać informacje o programowych przepływach pracy, zobacz Programowe pobieranie tokenu OAuth.

  1. Pobierz token OAuth z interfejsu użytkownika obsługującego obszar roboczy.
    1. Kliknij pozycję Obsługa na pasku bocznym, aby wyświetlić interfejs użytkownika obsługującego.
    2. Na stronie Obsługa punktów końcowych wybierz zoptymalizowany punkt końcowy trasy, aby wyświetlić szczegóły punktu końcowego.
    3. Na stronie szczegółów punktu końcowego kliknij przycisk Punkt końcowy zapytania.
    4. Wybierz kartę Pobierz token .
    5. Wybierz przycisk Pobierz token OAuth. Ten token jest ważny przez 1 godzinę. Pobierz nowy token, jeśli bieżący token wygaśnie.
  2. Pobierz adres URL punktu końcowego obsługującego model ze strony szczegółów punktu końcowego z interfejsu użytkownika obsługującego.
  3. Użyj tokenu OAuth z kroku 1 i adresu URL punktu końcowego z kroku 2, aby wypełnić następujący przykładowy kod, który wysyła zapytanie do zoptymalizowanego punktu końcowego trasy.

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

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

Aby zestaw SDK języka Python wysyłał zapytania do zoptymalizowanego punktu końcowego trasy, skontaktuj się z zespołem konta usługi Databricks.

Programowe pobieranie tokenu OAuth

Uwierzytelnianie za pomocą jednostki usługi w usłudze Azure Databricks zawiera wskazówki dotyczące programowego pobierania tokenu OAuth. Oprócz tych kroków należy określić authorization_details w żądaniu.

  • Zastąp element <token-endpoint-URL> poprzednim adresem URL punktu końcowego tokenu.
  • Zastąp <client-id> element identyfikatorem klienta jednostki usługi, który jest również nazywany identyfikatorem aplikacji.
  • Zastąp element <client-secret> wpisem tajnym OAuth jednostki usługi, który został utworzony.
  • Zastąp <endpoint-id> element identyfikatorem punktu końcowego zoptymalizowanego pod kątem trasy. Tę wartość można pobrać z nazwy hosta w adresie URL punktu końcowego.
  • Zastąp <action> element uprawnieniem akcji nadanymi jednostce usługi. Akcja może mieć wartość query_inference_endpoint lub manage_inference_endpoint.

Na przykład:

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

Ograniczenia

  • Optymalizacja tras jest dostępna tylko dla punktów końcowych obsługujących niestandardowe modele i funkcje obsługujące punkty końcowe. Interfejsy API modelu foundation i modele zewnętrzne nie są obsługiwane.
  • Wewnętrzne tokeny OAuth usługi Databricks są jedynym obsługiwanym uwierzytelnianiem na potrzeby optymalizacji tras. Osobiste tokeny dostępu nie są obsługiwane.
  • Optymalizacja tras nie wymusza żadnych ograniczeń sieci usługi Private Link skonfigurowanych w obszarze roboczym usługi Azure Databricks. Jeśli wymagasz, aby model obsługujący ruch był powiązany przez te kontrolki, nie należy włączać optymalizacji tras. Jeśli masz takie wymagania dotyczące sieci i nadal chcesz wypróbować obsługę zoptymalizowanego modelu, skontaktuj się z zespołem konta usługi Databricks.
  • Optymalizacja tras nie jest dostępna w niektórych regionach. Jeśli nie widzisz opcji włączenia optymalizacji tras w interfejsie użytkownika obsługującego, skontaktuj się z zespołem konta usługi Databricks.