L'erogazione online ti consente di pubblicare i valori delle caratteristiche per piccoli batch di entità a bassa latenza. Per ogni richiesta, puoi pubblicare solo valori delle caratteristiche di un singolo tipo di entità. Vertex AI Feature Store (legacy) restituisce solo l'ultimo valore non nullo di ogni caratteristica.
In genere, la pubblicazione online viene utilizzata per pubblicare i valori delle caratteristiche nei modelli di cui è stato eseguito il deployment per le inferenze online. Ad esempio, potresti avere un'azienda di bike sharing e vuoi prevedere per quanto tempo un determinato utente noleggerà una bicicletta. Puoi includere input in tempo reale dell'utente e dati dal feature store per eseguire un'inferenza online. In questo modo, puoi determinare l'allocazione delle risorse in tempo reale.
Valori null
Per i risultati della distribuzione online, se l'ultimo valore di una funzionalità è nullo, Vertex AI Feature Store (legacy) restituisce l'ultimo valore non nullo. Se non esiste un valore precedente, Vertex AI Feature Store (legacy) restituisce null.
Prima di iniziare
Verifica che il feature store su cui stai effettuando chiamate abbia un negozio online (il
numero di nodi deve essere maggiore di 0
). In caso contrario, le richieste di servizio online
restituiscono un errore. Per saperne di più, consulta Gestire
i feature store.
Mostrare i valori di una singola entità
Mostra i valori delle caratteristiche di una singola entità per un particolare tipo di entità.
REST
Per ottenere i valori delle caratteristiche da un'entità, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.readFeatureValues.
Il seguente esempio recupera i valori più recenti di due caratteristiche diverse per una
determinata entità. Tieni presente che per il campo ids
puoi specificare
["*"]
anziché gli ID funzionalità 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 lo store di funzionalità. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto
- FEATURESTORE_ID: ID dello store di funzionalità.
- ENTITY_TYPE_ID: l'ID del tipo di entità.
- ENTITY_ID: l'ID dell'entità per cui recuperare i valori delle funzionalità.
- FEATURE_ID: l'ID della funzionalità 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 di queste 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 Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le 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 di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Mostrare valori di più entità
Mostra i valori delle caratteristiche di una o più entità per un determinato tipo di entità.
Per un rendimento migliore, utilizza il metodo streamingReadFeatureValues
anziché inviare richieste parallele al metodo readFeatureValues
.
REST
Per ottenere i valori delle funzionalità da più entità, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.streamingReadFeatureValues.
Il seguente esempio recupera i valori più recenti di due funzionalità diverse per due entità diverse. Tieni presente che per il campo ids
puoi specificare
["*"]
anziché gli ID funzionalità 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 lo store di funzionalità. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto
- FEATURESTORE_ID: ID dello store di funzionalità.
- ENTITY_TYPE_ID: l'ID del tipo di entità.
- ENTITY_ID: l'ID dell'entità per cui recuperare i valori delle funzionalità.
- FEATURE_ID: l'ID della funzionalità 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 di queste 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: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 le seguenti librerie client di Vertex AI per chiamare l'API Vertex AI. Le librerie client di Cloud offrono un'esperienza ottimizzata per gli sviluppatori 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 batch.
- Visualizza le quote per la pubblicazione online di Vertex AI Feature Store (legacy).
- Risolvi i problemi comuni di Vertex AI Feature Store (legacy).