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.
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
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
.
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.
-
Obtenha um OAuth tokens da UI de serviço do seu workspace.
- Clique em Serving na barra lateral para exibir a Serving UI.
- Na página Serving endpoint, selecione sua rota otimizada endpoint para ver os detalhes de endpoint.
- Na página de detalhes do endpoint, clique no botão Query endpoint (Consultar endpoint ).
- Selecione Fetch tokens tab.
- Selecione o botão Fetch OAuth tokens . Esses tokens são válidos por 1 hora. Obtenha novos tokens se os tokens atuais expirarem.
-
Obtenha o URL do modelo de serviço endpoint na página de detalhes endpoint da UI de serviço .
-
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.
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 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 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.