Pular para o conteúdo principal

Configurar a otimização de rota no ponto de extremidade de serviço

Este artigo descreve como configurar a otimização de rota em seu modelo de serviço ou endpoint e como consultá-los. Feature Serving e como consultá-los. O ponto final de atendimento otimizado para rota reduz drasticamente a latência de sobrecarga e permite melhorias substanciais na taxa de transferência suportada pelo seu endpoint.

A otimização da rota é recomendada para cargas de trabalho com alta taxa de transferência ou sensíveis à latência.

Requisitos

  • Para otimização de rotas em um modelo de serviço endpoint, consulte Requisitos.
  • Para otimização de rota em um Feature Serving endpoint, consulte Requisitos.

Ativar a otimização de rota em um modelo de serviço endpoint

Especifique o parâmetro route_optimized durante a criação do modelo endpoint para configurar seu endpoint para otimização de rota. O senhor só pode especificar esse parâmetro durante a criação do site endpoint. Não é possível atualizar o endpoint existente para que ele seja otimizado para a rota.

Bash
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
}

O senhor pode ativar a otimização de rota para um endpoint na Serving UI. Se o senhor usar o site Python, poderá usar o seguinte Notebook para criar uma rota otimizada que atenda ao site endpoint.

Criar um serviço otimizado de rota endpoint usando o Python Notebook

Open notebook in new tab

Habilite a otimização de rotas em um site Feature Serving endpoint

Para usar a otimização de rota para recurso e Function Serving, especifique o nome completo da especificação de recurso no campo entity_name para atender às solicitações de criação do endpoint. O entity_version não é necessário para FeatureSpecs.

Bash

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
}

Rota de consulta otimizada servindo o modelo de endpoint

As etapas a seguir mostram como testar a consulta de uma rota otimizada servindo o modelo endpoint.

Para uso em produção, como usar a rota otimizada endpoint em um aplicativo, o senhor deve criar um token OAuth. As etapas a seguir mostram como buscar tokens na UI de serviço. Para fluxo de trabalho programático, consulte Fetch an OAuth tokens programmatically.

  1. Obtenha um OAuth tokens da UI de serviço do seu workspace.

    1. Clique em Serving na barra lateral para exibir a Serving UI.
    2. Na página Serving endpoint, selecione sua rota otimizada endpoint para ver os detalhes de endpoint.
    3. Na página de detalhes do endpoint, clique no botão Query endpoint (Consultar endpoint ).
    4. Selecione Fetch tokens tab.
    5. Selecione o botão Fetch OAuth tokens . Esses tokens são válidos por 1 hora. Obtenha novos tokens se os tokens atuais expirarem.
  2. Obtenha o URL do modelo de serviço endpoint na página de detalhes endpoint da UI de serviço .

  3. Use os tokens OAuth da etapa 1 e o URL endpoint da etapa 2 para preencher o seguinte código de exemplo que consulta a rota otimizada endpoint.

Bash

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 a Python SDK consulte uma rota otimizada endpoint, entre em contato com sua equipe Databricks account .

Obter um OAuth tokens programaticamente

Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth fornece orientação sobre como obter tokens OAuth programaticamente. Além dessas etapas, você deve especificar authorization_details na solicitação.

  • Substitua <token-endpoint-URL> pela URL do endpoint 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 do OAuth da entidade de serviço que você criou.
  • Substitua <endpoint-id> pela ID endpoint da rota otimizada endpoint. O senhor pode obter isso do hostName na url do endpoint.
  • 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:

Bash
      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 o ponto de extremidade de modelo de serviço personalizado e para o ponto de extremidade Feature Serving. Não há suporte para APIs de modelo básico e modelos externos.
  • Os tokens OAuth internos da Databricks são a única autenticação compatível com a otimização de rotas. Não há suporte para tokens de acesso pessoal.