A exibição on-line permite exibir valores de recursos para pequenos lotes de entidades com baixa latência. Para cada solicitação, só é possível exibir valores de recursos de um único tipo de entidade. A Feature Store da Vertex AI (legada) retorna apenas o valor não nulo mais recente de cada recurso.
Normalmente, você usa a exibição on-line para exibir valores de recursos para modelos implantados para previsões on-line. Por exemplo, você tem uma empresa de compartilhamento de bicicletas e quer prever por quanto tempo um usuário específico aluga uma bicicleta. É possível incluir entradas do usuário em tempo real e dados da featurestore para realizar uma previsão on-line. Dessa forma, é possível determinar a alocação de recursos em tempo real.
Valores nulos
Para resultados de disponibilização on-line, se o valor mais recente de um recurso for nulo, a Feature Store da Vertex AI (legada) retornará o valor não nulo mais recente. Se não houver valor anterior, a Feature Store da Vertex AI (legada) retornará nulo.
Antes de começar
Verifique se o armazenamento de recursos para o qual você está fazendo chamadas tem uma loja on-line (o
número de nós precisa ser maior que 0
). Caso contrário, as solicitações de exibição on-line
retornarão um erro. Para mais informações, consulte Gerenciar
featurestores.
Exibir valores de uma única entidade
Exibe valores de recursos de uma única entidade para um tipo de entidade específico.
REST
Para conseguir valores de recursos de uma entidade, envie uma solicitação POST usando o método featurestores.entityTypes.readFeatureValues.
A amostra a seguir mostra os valores mais recentes de dois recursos diferentes para
uma entidade específica. No campo ids
, é possível especificar
["*"]
em vez dos IDs de recursos para selecionar todos os recursos para a
entidade.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: região onde a featurestore é criada. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- FEATURESTORE_ID: ID do featurestore.
- ENTITY_TYPE_ID: código do tipo de entidade.
- ENTITY_ID: código da entidade que receberá os valores dos recursos.
- FEATURE_ID: código do recurso que receberá os valores.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues
Corpo JSON da solicitação:
{ "entityId": "ENTITY_ID", "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] }, "entityView": { "entityId": "ENTITY_ID", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_1", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_2", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Python
A biblioteca de cliente da Vertex AI está incluída quando você instala o SDK da Vertex AI para Python. Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Exibir valores de várias entidades
Exibe valores de recursos de uma ou mais entidades para um tipo de entidade específico.
Para um melhor desempenho, use o método streamingReadFeatureValues
em vez
de enviar solicitações paralelas para o método readFeatureValues
.
REST
Para receber valores de recurso de várias entidades, envie uma solicitação POST usando o método featurestores.entityTypes.streamingReadFeatureValues.
O exemplo a seguir obtém os valores mais recentes para dois recursos diferentes para duas
entidades diferentes. No campo ids
, é possível especificar
["*"]
em vez dos IDs de recursos para selecionar todos os recursos para a
entidade.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: região onde a featurestore é criada. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- FEATURESTORE_ID: ID do featurestore.
- ENTITY_TYPE_ID: código do tipo de entidade.
- ENTITY_ID: código da entidade que receberá os valores dos recursos.
- FEATURE_ID: código do recurso que receberá os valores.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues
Corpo JSON da solicitação:
{ "entityIds": ["ENTITY_ID_1", "ENTITY_ID_2"], "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
[{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] } }, { "entityView": { "entityId": "ENTITY_ID_1", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_A", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_B", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }, { "entityView": { "entityId": "ENTITY_ID_2", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_C", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_D", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } } ] } }]
Outras linguagens
É possível instalar e usar as seguintes bibliotecas de cliente do Vertex AI para chamar a API Vertex AI. As bibliotecas de cliente do Cloud oferecem uma experiência otimizada aos desenvolvedores, usando as convenções e os estilos naturais de cada linguagem com suporte.
A seguir
- Saiba como processar valores de recurso em lote.
- Saiba como exibir recursos por meio da exibição em lote.
- Veja as cotas de exibição on-line da Feature Store da Vertex AI (legada).
- Resolva problemas comuns da Feature Store da Vertex AI (legada).