La pubblicazione online ti consente di fornire valori delle caratteristiche per piccoli batch di entità a bassa latenza. Per ogni richiesta, puoi pubblicare valori di caratteristiche solo da un con un singolo tipo di entità. Vertex AI Feature Store (legacy) restituisce solo il valore non nullo più recente di ogni funzionalità.
In genere, utilizzi la pubblicazione online per fornire i valori delle caratteristiche ai modelli di cui è stato eseguito il deployment per le previsioni online. Ad esempio, potresti avere un'attività di bike sharing dell'azienda e vuoi prevedere per quanto tempo un determinato utente noleggierà una bicicletta. Puoi includere input in tempo reale dell'utente e dall'archivio di caratteristiche per eseguire una previsione online. In questo modo, puoi per determinare l'allocazione delle risorse in tempo reale.
Valori null
Per i risultati della pubblicazione online, se l'ultimo valore di una caratteristica è nullo, Vertex AI Feature Store (legacy) restituisce il valore non nullo più recente. Se non è presente alcun valore precedente, Vertex AI Feature Store (legacy) restituisce null.
Prima di iniziare
Verifica che il feature store a cui effettui le chiamate abbia un negozio online (il numero di nodi deve essere maggiore di 0
). In caso contrario, le richieste di pubblicazione online restituiscono un errore. Per ulteriori informazioni, vedi Gestire
archivi di caratteristiche.
Pubblicare valori di una singola entità
Mostra i valori delle caratteristiche di una singola entità per un determinato tipo di entità.
REST
Per ottenere i valori delle caratteristiche da un'entità, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.readFeatureValues .
L'esempio seguente restituisce i valori più recenti per due diverse caratteristiche per un
particolare entità. Tieni presente che per il campo ids
puoi specificare ["*"]
anziché gli ID elemento per selezionare tutte le funzionalità per l'entità.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: regione in cui viene creato il feature store. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di funzionalità.
- ENTITY_TYPE_ID: ID del tipo di entità.
- ENTITY_ID: l'ID dell'entità per cui ottenere i valori delle funzionalità.
- FEATURE_ID: ID della caratteristica per cui ottenere i valori.
Metodo 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 della richiesta:
{ "entityId": "ENTITY_ID", "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Pubblicare valori di più entità
Pubblica i valori delle caratteristiche da una o più entità per un particolare tipo di entità.
Per migliorare le prestazioni, usa il metodo streamingReadFeatureValues
di invio di richieste parallele al metodo readFeatureValues
.
REST
Per ottenere i valori delle caratteristiche da più entità, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.streamingReadFeatureValues .
L'esempio seguente recupera i valori più recenti per due funzionalità diverse per due entità diverse. Tieni presente che per il campo ids
puoi specificare
["*"]
anziché gli ID caratteristica per selezionare tutte le caratteristiche per la
dell'oggetto.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: regione in cui viene creato il feature store. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di caratteristiche.
- ENTITY_TYPE_ID: ID del tipo di entità.
- ENTITY_ID: l'ID dell'entità per cui ottenere i valori delle funzionalità.
- FEATURE_ID: ID della caratteristica per cui ottenere i valori.
Metodo 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 della richiesta:
{ "entityIds": ["ENTITY_ID_1", "ENTITY_ID_2"], "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
[{ "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" } } } ] } }]
Linguaggi aggiuntivi
Puoi installare e utilizzare il le seguenti librerie client di Vertex AI per chiamare l'API Vertex AI. Le librerie client di Cloud offrono agli sviluppatori un'esperienza ottimizzata utilizzando gli stili e le convenzioni naturali di ogni linguaggio supportato.
Passaggi successivi
- Scopri come importare in batch i valori delle caratteristiche.
- Scopri come pubblicare le funzionalità tramite la pubblicazione collettiva.
- Visualizza la distribuzione online di Vertex AI Feature Store (legacy) quote.
- Risolvi i problemi comuni di Vertex AI Feature Store (legacy).