Configurar a otimização de rotas em pontos de extremidade de serviço

Este artigo descreve como configurar a otimização de rotas em seus pontos de extremidade de serviço de modelo ou de serviço de recursos e como consultá-los. Os pontos de extremidade de serviço otimizados de rota reduzem drasticamente a latência de sobrecarga e permitem melhorias substanciais na taxa de transferência suportada pelo seu endpoint.

A otimização de rotas é recomendada para cargas de trabalho sensíveis a alta taxa de transferência ou latência.

Requisitos

  • Para otimização de rota em um modelo que serve o ponto de extremidade, consulte Requisitos.
  • Para otimização de rota em um ponto de extremidade de serviço de recurso, consulte Requisitos.

Habilite a otimização de rotas em um modelo que serve o ponto de extremidade

Especifique o parâmetro durante a criação do route_optimized ponto de extremidade de serviço de modelo para configurar seu ponto de extremidade para otimização de rota. Você só pode especificar esse parâmetro durante a criação do ponto de extremidade, não é possível atualizar os pontos de extremidade existentes para serem otimizados para roteamento.

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
}

Você pode habilitar a otimização de rota para um ponto de extremidade na interface do usuário de serviço. Se você usa Python, pode usar o bloco de anotações a seguir para criar um ponto de extremidade de serviço otimizado para rota.

Criar um ponto de extremidade de serviço otimizado de rota usando o bloco de anotações Python

Obter o bloco de notas

Habilite a otimização de rotas em um ponto de extremidade de serviço de recurso

Para usar a otimização de rota para Feature and Function Serving, especifique o nome completo da especificação do recurso no entity_name campo para atender às solicitações de criação de pontos finais. O entity_version não é necessário 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
}

Modelo de rota de consulta otimizado servindo pontos de extremidade

As etapas a seguir mostram como testar a consulta de um modelo otimizado de rota que serve o ponto de extremidade.

Para uso em produção, como usar seu ponto de extremidade otimizado de rota em um aplicativo, você deve criar um token OAuth. As etapas a seguir mostram como buscar um token na interface do usuário de serviço. Para fluxos de trabalho programáticos, consulte Buscar um token OAuth programaticamente.

  1. Buscar um token OAuth na interface do usuário de serviço do seu espaço de trabalho.
    1. Clique em Servindo na barra lateral para exibir a interface do usuário de serviço.
    2. Na página Servindo pontos de extremidade, selecione seu ponto de extremidade otimizado de rota para ver os detalhes do ponto de extremidade.
    3. Na página de detalhes do ponto de extremidade, clique no botão Consultar ponto de extremidade .
    4. Selecione a guia Buscar token .
    5. Selecione o botão Buscar token OAuth. Este token é válido por 1 hora. Buscar um novo token se o token atual expirar.
  2. Obtenha o URL do ponto de extremidade de serviço do modelo na página de detalhes do ponto de extremidade da interface do usuário de serviço .
  3. Use o token OAuth da etapa 1 e a URL do ponto de extremidade da etapa 2 para preencher o código de exemplo a seguir que consulta o ponto de extremidade otimizado para rota.

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 um SDK Python consulte um ponto de extremidade otimizado para rota, entre em contato com sua equipe de conta do Databricks.

Buscar um token OAuth programaticamente

Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M) fornece orientação sobre como buscar um token OAuth programaticamente. Além dessas etapas, você deve especificar authorization_details na solicitação.

  • Substitua <token-endpoint-URL> pela URL do ponto de extremidade do token anterior.
  • Substitua <client-id> pela ID do cliente da entidade de serviço, que também é conhecida como ID do aplicativo.
  • Substitua <client-secret> pelo segredo OAuth da entidade de serviço que você criou.
  • Substitua <endpoint-id> pelo ID do ponto de extremidade otimizado para rota. Você pode buscar isso de hostName na URL do ponto de extremidade.
  • Substitua <action> pela permissão de ação dada à entidade de serviço. A ação pode ser query_inference_endpoint ou manage_inference_endpoint.

Por exemplo:

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

Limitações

  • A otimização de rotas só está disponível para endpoints de serviço de modelo personalizado e endpoints de serviço de recursos. Não há suporte para APIs de Modelo de Base e Modelos Externos .
  • Os tokens OAuth internos do Databricks são a única autenticação suportada para otimização de rotas. Não há suporte para tokens de acesso pessoal.
  • A otimização de rota não impõe nenhuma restrição de rede de Link Privado que você configurou em seu espaço de trabalho do Azure Databricks. Se você exigir que o modelo que serve o tráfego seja vinculado por esses controles, não habilite a otimização de rota. Se você tiver esses requisitos de rede e ainda quiser experimentar o serviço de modelo otimizado de rota, entre em contato com sua equipe de conta Databricks.
  • A otimização de rotas não está disponível em determinadas regiões. Se você não vir a opção para habilitar a otimização de rota na interface do usuário de serviço, entre em contato com sua equipe de conta do Databricks.