Compartilhar via


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

Este artigo descreve como configurar a otimização de rota no modelo de serviço ou recurso que atende pontos de extremidade e como consultar isso. Rotear pontos de extremidade de serviço otimizados reduz drasticamente a latência de sobrecarga e permite melhorias substanciais na taxa de transferência com suporte do ponto de extremidade.

A otimização de rota é recomendada para cargas de trabalho confidenciais de alta taxa de transferência ou latência.

Requisitos

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

Habilitar a otimização de rota em um ponto de extremidade de serviço de modelo

Especifique o parâmetro route_optimized durante a criação do ponto de extremidade de serviço do modelo para configurar o ponto de extremidade para otimização de rota. Só é possível 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 rota.

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ê usar o Python, é possível usar o notebook a seguir para criar um ponto de extremidade de serviço otimizado para rota.

Criar um ponto de extremidade de serviço otimizado para rota usando o notebook Python

Obter notebook

Habilitar a otimização de rota em um ponto de extremidade de serviço de recurso

Para usar a otimização de rota no Recurso e o Serviço de Função, especifique o nome completo da especificação do recurso no campo entity_name para solicitações de criação de ponto de extremidade de serviço. A entity_version não é necessária 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
}

Consultar pontos de extremidade de serviço de modelo otimizados para rota

As etapas a seguir mostram como testar a consulta de um ponto de extremidade de serviço de modelo otimizado para rota.

Para uso em produção, como usar o ponto de extremidade otimizado para 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 obter fluxos de trabalho programáticos, consulte Buscar um token OAuth programaticamente.

  1. Buscar um token OAuth da interface do usuário de serviço do seu workspace.
    1. Clique em Servindo na barra lateral para exibir a interface do usuário de serviço.
    2. Na página Pontos de extremidade de serviço, selecione o ponto de extremidade otimizado para rota para conferir os detalhes do ponto de extremidade.
    3. Na página de detalhes do ponto de extremidade, clique no botão Ponto de Extremidade de consulta.
    4. Selecione a guia Buscar token.
    5. Selecione o botão Buscar token OAuth. Esse token é válido por 1 dias. Busque um novo token se o token atual expirar.
  2. Obter a 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 do 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 diretrizes sobre como efetuar fetch de 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 de cliente da entidade de serviço, também é conhecida como ID de aplicativo.
  • Substitua <client-secret> pelo segredo OAuth da entidade de serviço que você criou.
  • Substitua <endpoint-id> pela ID do ponto de extremidade do ponto de extremidade otimizado para rota. Você pode buscar isso do hostName na URL do ponto de extremidade.
  • Substitua <action> pela permissão de ação fornecida à 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 rota só está disponível para o modelo personalizado que atende pontos de extremidade e recursos que atendem pontos de extremidade. Não há suporte para APIs de Modelos Fundamentais e Modelos externos.
  • Os tokens OAuth internos do Databricks são a única autenticação com suporte para otimização de rota. 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 configurada no workspace do Azure Databricks. Se você necessita que o tráfego de serviço do modelo seja associado por esses controles, não habilite a otimização de rota. Se você tiver esses requisitos de rede e ainda quiser tentar rotear o serviço de modelo otimizado para rota, entre em contato com a equipe da conta do Databricks.
  • A otimização de rota não está disponível em determinadas regiões. Se você não vir a opção de habilitar a otimização de rota na interface do usuário de serviço, entre em contato com a equipe de conta do Databricks.