Importazione streaming

L'importazione streaming ti consente di aggiornare in tempo reale i valori delle caratteristiche. Questo metodo è utile quando è fondamentale avere i dati più recenti disponibili per la pubblicazione online. Ad esempio, puoi importare i flussi di dati degli eventi e, nel giro di pochi secondi, Vertex AI Feature Store (Legacy) li rende disponibili per scenari di pubblicazione online.

Se devi eseguire il backfill dei dati o se calcoli i valori delle funzionalità in batch, utilizza l'importazione in gruppo. Rispetto alle richieste di importazione di flussi di dati, le richieste di importazione batch possono gestire payload più grandi, ma richiedere più tempo per il completamento.

Per informazioni sul timestamp dei valori delle funzionalità meno recente che puoi importare, consulta Vertex AI Feature Store (legacy) in Quote e limiti. Non puoi importare valori di elementi per i quali i timestamp indicano date o ore future.

Caso d'uso di esempio

Un'organizzazione di vendita al dettaglio online può offrire un'esperienza d'acquisto personalizzata utilizzando l'attività corrente di un utente. Mentre gli utenti navigano sul sito web, puoi acquisire la loro attività in un archivio di caratteristiche e poi, subito dopo, fornire tutte queste informazioni per le previsioni online. Queste operazioni di importazione e pubblicazione in tempo reale possono aiutarti a mostrare consigli utili e pertinenti ai clienti durante la loro sessione di acquisto.

Utilizzo dei nodi di archiviazione online

La scrittura di valori delle caratteristiche in un negozio online utilizza le risorse della CPU dell'archivio di caratteristiche (nodi di archiviazione online). Monitora l'utilizzo della CPU per verificare che la domanda non superi l'offerta, il che può causare errori di pubblicazione. Consigliamo una percentuale di utilizzo di circa il 70% o inferiore per evitare questi errori. Se superi regolarmente questo valore, puoi aggiornare l'archivio di caratteristiche per aumentare il numero di nodi o utilizzare la scalabilità automatica. Per ulteriori informazioni, consulta Gestire gli archivi di caratteristiche.

Importazione streaming

Scrivere un valore per una particolare caratteristica. Il valore della caratteristica deve essere incluso nella richiesta di importazione. Non puoi creare un flusso di dati direttamente da un'origine dati.

Se stai scrivendo a funzionalità create di recente, attendi qualche minuto prima di farlo perché le nuove funzionalità potrebbero non essere ancora state propagate. In caso contrario, potresti visualizzare un errore resource not found.

Puoi importare valori delle caratteristiche per una sola entità per scrittura. Per ogni regione e progetto specifici, puoi scrivere contemporaneamente valori delle caratteristiche per più entità entro un massimo di dieci diversi tipi di entità. Questo limite include le richieste di importazione di flussi di dati in tutti gli archivi di caratteristiche in una determinata regione e in un determinato progetto. Se superi questo limite, Vertex AI Feature Store (legacy) potrebbe non scrivere tutti i dati nell'archivio offline. In questo caso, Vertex AI Feature Store (legacy) registra l'errore in Esplora log. Per ulteriori informazioni, consulta Monitorare gli errori di scrittura nello spazio di archiviazione offline per l'importazione di flussi di dati.

REST

Per importare i valori delle caratteristiche per le funzionalità esistenti, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.writeFeatureValues. Se i nomi delle colonne dei dati di origine e gli ID funzionalità di destinazione sono diversi, includi il parametro sourceField. Tieni presente che featurestores.entityTypes.writeFeatureValues consente di importare i valori delle caratteristiche per una sola entità alla volta.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: regione in cui viene creato l'archivio di caratteristiche. Ad esempio, us-central1.
  • PROJECT: il tuo ID progetto.
  • FEATURESTORE_ID: ID dell'archivio di caratteristiche.
  • ENTITY_TYPE_ID: ID del tipo di entità.
  • FEATURE_ID: ID di una funzionalità esistente nell'archivio di caratteristiche per cui scrivere valori.
  • VALUE_TYPE: il tipo di valore della funzionalità.
  • VALUE: valore dell'elemento.
  • TIME_STAMP (facoltativo): l'ora in cui è stata generata la funzionalità. Il timestamp deve essere nel formato UTC RFC3339.

Metodo HTTP e URL:

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues

Corpo JSON della richiesta:

{
  "payloads": [
    {
      "entityId": "ENTITY_ID",
      "featureValues": {
        "FEATURE_ID": {
          "VALUE_TYPE": VALUE,
          "metadata": {"generate_time": "TIME_STAMP"}
        }
      }
    }
  ]
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

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 \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues" | Select-Object -Expand Content

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

from google.cloud import aiplatform


def write_feature_values_sample(
    project: str, location: str, entity_type_id: str, featurestore_id: str
):

    aiplatform.init(project=project, location=location)

    my_entity_type = aiplatform.featurestore.EntityType(
        entity_type_name=entity_type_id, featurestore_id=featurestore_id
    )

    my_data = {
        "movie_01": {
            "title": "The Shawshank Redemption",
            "average_rating": 4.7,
            "genre": "Drama",
        },
    }

    my_entity_type.write_feature_values(instances=my_data)

Linguaggi aggiuntivi

Puoi installare e utilizzare le seguenti librerie client 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