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
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.
- Buscar um token OAuth na interface do usuário de serviço do seu espaço de trabalho.
- Clique em Servindo na barra lateral para exibir a interface do usuário de serviço.
- Na página Servindo pontos de extremidade, selecione seu ponto de extremidade otimizado de rota para ver os detalhes do ponto de extremidade.
- Na página de detalhes do ponto de extremidade, clique no botão Consultar ponto de extremidade .
- Selecione a guia Buscar token .
- Selecione o botão Buscar token OAuth. Este token é válido por 1 hora. Buscar um novo token se o token atual expirar.
- 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 .
- 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 serquery_inference_endpoint
oumanage_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.