Importazione di flussi di dati

L'importazione flussi di dati consente di aggiornare in tempo reale i valori delle caratteristiche. Questo è utile quando la disponibilità dei dati più recenti per la pubblicazione online è la priorità. Ad esempio, puoi importare dati sugli eventi in modalità flusso e, secondi, Vertex AI Feature Store rende disponibili i dati per gli di pubblicazione.

Se devi eseguire il backfill dei dati o se calcoli i valori delle caratteristiche in batch, utilizza importa. Rispetto alle richieste di importazione in modalità flusso, di importazione possono gestire payload più grandi, potrebbe richiedere più tempo.

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. Quando gli utenti navigano sul sito web, puoi catturare la loro attività in un archivio di caratteristiche e poi, e poi mostrare 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 di valori di caratteristiche in un archivio online utilizza le risorse della CPU dell'archivio di caratteristiche (nodi di archiviazione online). Monitora la CPU per verificare che la domanda non superi l'offerta, il che può portare alla pubblicazione errori. 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 ulteriori informazioni, consulta Gestire archivi di caratteristiche.

Importazione di flussi di dati

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

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, potrebbe essere visualizzato 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 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 negozio 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 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 è 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 per i quali scrivere 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. 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 ulteriori informazioni, consulta 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 il le seguenti librerie client di 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