Importazione di flussi di dati

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

Se devi eseguire il backfill dei dati o se calcoli i valori delle funzionalità in batch, utilizza importazione collettiva. Rispetto alle richieste di importazione in streaming, le richieste di importazione collettiva possono gestire payload più grandi, ma impiegano più tempo per essere completate.

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 potrebbe offrire un'esperienza di acquisto personalizzata utilizzando l'attività corrente di un utente. Mentre gli utenti navigano nel sito web, puoi acquisire la loro attività in un feature store e poi, poco dopo, pubblicare tutte queste informazioni per le previsioni online. Questo report in tempo reale l'importazione e la pubblicazione possono aiutarti a mostrare consigli utili e pertinenti a durante la sessione di acquisto.

Utilizzo dei nodi di archiviazione online

La scrittura dei valori delle funzionalità in un archivio online utilizza le risorse della CPU del Feature Store (nodi di archiviazione online). Monitora la CPU per verificare che la domanda non superi l'offerta, il che può portare alla pubblicazione errori. Per evitare questi errori, ti consigliamo di utilizzare un tasso di utilizzo pari o inferiore al 70%. Se superi regolarmente questo valore, puoi aggiornare il tuo feature store per aumentare il numero di nodi o utilizzare la scalabilità automatica. Per saperne di più, consulta Gestire i feature store.

Importazione di flussi di dati

Scrivere un valore per una particolare caratteristica. Il valore della funzionalità deve essere incluso come parte della richiesta di importazione. Non puoi trasmettere i dati direttamente da un'origine data.

Se stai scrivendo a funzionalità create di recente, attendi qualche minuto prima di 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 funzionalità per più entità in un massimo di dieci tipi di entità diversi. Questo limite include le richieste di importazione in streaming per tutti i feature store in un determinato progetto e regione. Se superi questo limite, Vertex AI Feature Store (legacy) potrebbe non scrivere tutti i dati nel negozio offline. In questo caso, Vertex AI Feature Store (legacy) registra l'errore in Logs Explorer. 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 esistenti, invia una richiesta POST utilizzando il metodo featurestores.entityTypes.writeFeatureValues . Se i nomi delle colonne di dati di origine e gli ID delle 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, apporta le seguenti sostituzioni:

  • LOCATION: regione in cui viene creato il feature store. 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 per cui scrivere i valori.
  • VALUE_TYPE: il valore tipo della caratteristica.
  • VALUE: valore della caratteristica.
  • (Facoltativo) TIME_STAMP: l'ora in cui l'elemento è stato generati. 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, 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-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, 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-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, 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 uno sviluppatore ottimizzato l'esperienza utilizzando le convenzioni naturali stili di ogni lingua supportata.

Passaggi successivi