Importazione di flussi di dati

L'importazione flussi di dati consente di aggiornare in tempo reale i valori delle caratteristiche. Questo metodo è utile quando la priorità è rappresentata dai dati più recenti disponibili per la pubblicazione online. Ad esempio, puoi importare flussi di dati sugli eventi e, in pochi secondi, Vertex AI Feature Store (legacy) rende i dati disponibili per gli scenari di distribuzione online.

Se devi eseguire il backfill dei dati o se calcoli i valori delle caratteristiche in batch, utilizza l'importazione in batch. Rispetto alle richieste di importazione in modalità flusso, le richieste di importazione batch sono in grado di gestire payload più grandi, ma richiedono più tempo per il completamento.

Per informazioni sul timestamp dei valori delle caratteristiche meno recenti che puoi importare, consulta Vertex AI Feature Store (legacy) in Quote e limiti. Non puoi importare i valori delle caratteristiche 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 di acquisto personalizzata utilizzando l'attività corrente di un utente. Mentre gli utenti navigano nel sito web, puoi registrare la loro attività in un archivio di caratteristiche e, subito dopo, pubblicare tutte queste informazioni per le previsioni online. L'importazione e la 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 dei valori delle caratteristiche in un archivio 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 potrebbe causare errori di pubblicazione. Ti consigliamo un tasso 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 maggiori informazioni, vedi Gestire gli archivi di caratteristiche.

Importazione di flussi di dati

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

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

Puoi importare i valori delle caratteristiche per una sola entità per scrittura. Per qualsiasi progetto e regione specifici, puoi scrivere contemporaneamente i valori delle caratteristiche per più entità con un massimo di dieci diversi tipi di entità. Questo limite include le richieste di importazione di flussi di dati verso tutti gli archivi di caratteristiche in un progetto e in una regione specifici. Se superi questo limite, Vertex AI Feature Store (legacy) potrebbe non scrivere tutti i dati nel archivio offline. In questo caso, Vertex AI Feature Store (legacy) registra l'errore in Esplora log. Per ulteriori informazioni, vedi 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 caratteristiche esistenti, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.writeFeatureValues. Se i nomi delle colonne dei dati di origine e degli 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 è stato 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 caratteristica esistente nell'archivio di caratteristiche per cui scrivere i valori.
  • VALUE_TYPE: il tipo di valore della caratteristica.
  • VALUE: valore della caratteristica.
  • (Facoltativo) TIME_STAMP: l'ora in cui è stata generata la caratteristica. Il timestamp deve essere nel formato UTC RFC3339.

Metodo HTTP e URL:

POST https://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:

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-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 "https://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 di operazione riuscita (2xx) e una risposta vuota.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, 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 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 ciascun linguaggio supportato.

Passaggi successivi