Compartir a través de


Configuración de la optimización de rutas en los puntos de conexión de servicio

Este artículo describe cómo configurar la optimización de rutas en sus puntos de conexión de servicio de modelos o de características y cómo consultarlos. Enrutar los puntos de conexión de servicio optimizados para enrutamiento reduce considerablemente la latencia de sobrecarga y permite mejoras sustanciales en el rendimiento admitido por el punto de conexión.

Se recomienda la optimización de rutas para cargas de trabajo confidenciales de alto rendimiento o latencia.

Requisitos

  • Para la optimización de rutas en un punto de conexión de servicio de modelos, consulte Requisitos.
  • Para la optimización de rutas en un punto de conexión de servicio de características, consulte Requisitos.

Habilitación de la optimización de rutas en un punto de conexión de servicio de modelo

Especifique el parámetro route_optimized durante la creación del punto de conexión de servicio del modelo para configurar el punto de conexión para la optimización de rutas. Solo puede especificar este parámetro durante la creación del punto de conexión, no puede actualizar los puntos de conexión existentes para que se optimicen.

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
}

Puede habilitar la optimización de rutas para un punto de conexión en la interfaz de usuario de servicio. Si usa Python, puede usar el cuaderno siguiente para crear un punto de conexión de servicio optimizado para rutas.

Creación de un punto de conexión de servicio optimizado para rutas mediante el cuaderno de Python

Obtener el cuaderno

Habilitación de la optimización de rutas en un punto de conexión de servicio de características

Para usar la optimización de rutas para el servicio de características y funciones, especifique el nombre completo de la especificación de características en el campo entity_name para servir solicitudes de creación de puntos de conexión. El entity_version no es necesario para 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
}

Consulta de los puntos de conexión de servicio del modelo optimizado para rutas de consulta

Los pasos siguientes muestran cómo probar la consulta de un punto de conexión de servicio de modelo optimizado para rutas.

Para su uso en producción, como el uso del punto de conexión optimizado para rutas en una aplicación, debe crear un token de OAuth. Los pasos siguientes muestran cómo capturar un token en la interfaz de usuario de servicio. Para los flujos de trabajo mediante programación, consulte Capturar un token de OAuth mediante programación.

  1. Capture un token de OAuth de la interfaz de usuario de servicio de del área de trabajo.
    1. Haga clic en Servicio en la barra lateral para mostrar la interfaz de usuario de servicio.
    2. En la página Puntos de conexión de servicio, seleccione el punto de conexión optimizado para rutas para ver los detalles del punto de conexión.
    3. En la página de detalles del punto de conexión, haga clic en el botón Consultar punto de conexión.
    4. Seleccione la pestañaFetch Token (Capturar token).
    5. Seleccione botón Capturar token de OAuth. Este token tiene una validez de 1 hora. Capture un nuevo token si expira el token actual.
  2. Obtenga la URL de su punto de conexión de servicio de modelos de la página de detalles del punto de conexión de la interfaz de usuario de servicio.
  3. Use el token de OAuth del paso 1 y la dirección URL del punto de conexión del paso 2 para rellenar el código de ejemplo siguiente que consulta el punto de conexión optimizado para rutas.

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

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

Para que un SDK de Python consulte un punto de conexión optimizado para rutas, póngase en contacto con el equipo de la cuenta de Databricks.

Captura de un token de OAuth mediante programación

El uso de una entidad de servicio para autenticarse con Azure Databricks proporciona las instrucciones necesarias para capturar un token de OAuth mediante programación. Además de esos pasos, debe especificar authorization_details en la solicitud.

  • Reemplace <token-endpoint-URL> por la dirección URL del punto de conexión del token anterior.
  • Reemplace <client-id> por el identificador de cliente de la entidad de servicio’, que también se conoce como identificador de aplicación.
  • Reemplace <client-secret> por el secreto de OAuth de la entidad de servicio que creó.
  • Reemplace <endpoint-id> por el identificador de punto de conexión del punto de conexión optimizado para rutas. Puede capturarlo desde hostName en la dirección URL del punto de conexión.
  • Reemplace <action> por el permiso de acción concedido a la entidad de servicio. La acción puede ser query_inference_endpoint o manage_inference_endpoint.

Por ejemplo:

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

Limitaciones

  • La optimización de rutas solo está disponible para puntos de conexión personalizados de servicio de modelos y puntos de conexión de servicio de características. No se admiten las API del modelo Foundation ni los modelos externos.
  • Los tokens de OAuth internos de Databricks son la única autenticación admitida para la optimización de rutas. No se admiten tokens de acceso personal.
  • La optimización de rutas no aplica ninguna restricción de red de Private Link que haya configurado en su área de trabajo de Azure Databricks. Si necesita que el modelo que atiende el tráfico esté enlazado por esos controles, no habilite la optimización de rutas. Si tiene estos requisitos de red y desea probar el servicio de modelos optimizados para rutas, póngase en contacto con el equipo de la cuenta de Databricks.
  • La optimización de rutas no está disponible en determinadas regiones. Si no ve la opción de habilitar la optimización de rutas en la interfaz de usuario de servicio, póngase en contacto con el equipo de la cuenta de Databricks.