Streamingimport

Mit dem Streamingimport können Sie Echtzeitwerte für Featurewerte aktualisieren. Diese Methode ist nützlich, wenn die neuesten verfügbaren Daten für die Onlinebereitstellung eine Priorität haben. Sie können beispielsweise Streaming-Ereignisdaten importieren und innerhalb weniger Sekunden stellt Vertex AI Feature Store (Legacy) diese Daten für Online-Bereitstellungsszenarien zur Verfügung.

Verwenden Sie den Batch-Import, wenn Sie Daten auffüllen müssen oder Featurewerte im Batch berechnen. Im Vergleich zu Streamingimportanfragen können Batch-Importanfragen größere Nutzlasten verarbeiten, dauern dafür jedoch länger.

Informationen zum ältesten Featurewert-Zeitstempel, den Sie importieren können, finden Sie unter Vertex AI Feature Store (Legacy) unter Kontingente und Limits. Sie können keine Featurewerte importieren, deren Zeitstempel Daten oder Uhrzeiten in der Zukunft angeben.

Anwendungsbeispiel

Eine Online-Einzelhandelsorganisation kann mithilfe der aktuellen Aktivität eines Nutzers ein personalisiertes Shoppingerlebnis bieten. Wenn Nutzer die Website aufrufen, können Sie ihre Aktivität in einem Feature Store erfassen und dann kurz danach alle diese Informationen für Onlinevorhersagen bereitstellen. Durch Import und Bereitstellung in Echtzeit können Sie Kunden während der Einkaufssitzung nützliche und relevante Empfehlungen anzeigen.

Nutzung des Onlinespeicherknotens

Das Schreiben von Featurewerten in einen Onlineshop verwendet die CPU-Ressourcen des Featurestores (Online-Speicherknoten). Überwachen Sie die CPU-Nutzung, um zu prüfen, ob die Nachfrage die Kapazität überschreitet, was zu Bereitstellungsfehlern führen kann. Wir empfehlen eine Nutzungsrate von ca. 70% oder weniger, um diese Fehler zu vermeiden. Wenn Sie diesen Wert regelmäßig überschreiten, können Sie Ihren Feature Store aktualisieren, um die Anzahl der Knoten zu erhöhen oder Autoscaling zu verwenden. Weitere Informationen finden Sie unter Featurestores verwalten.

Streamingimport

Schreiben Sie einen Wert in ein bestimmtes Feature. Der Featurewert muss als Teil der Importanfrage enthalten sein. Sie können Daten nicht direkt aus einer Datenquelle streamen.

Wenn Sie in kürzlich erstellte Funktionen schreiben, warten Sie einige Minuten, da die neuen Funktionen möglicherweise noch nicht übernommen wurden. Andernfalls wird möglicherweise der Fehler resource not found angezeigt.

Sie können Featurewerte nur für eine Entität pro Schreibvorgang importieren. Für jedes Projekt und jede Region können Sie Featurewerte für mehrere Entitäten gleichzeitig in maximal zehn verschiedene Entitätstypen schreiben. Dieses Limit umfasst Streamingimportanfragen an alle Feature Stores in einem bestimmten Projekt und einer bestimmten Region. Wenn Sie dieses Limit überschreiten, schreibt der Vertex AI Feature Store (Legacy) möglicherweise nicht alle Ihre Daten in den Offlinespeicher. In diesem Fall protokolliert Vertex AI Feature Store (Legacy) den Fehler im Log-Explorer. Weitere Informationen finden Sie unter Offline-Speicherfehler beim Streamingimport überwachen.

REST

Wenn Sie Featurewerte für vorhandene Features importieren möchten, senden Sie eine POST-Anfrage mit der Methode featurestores.entityTypes.writeFeatureValues. Wenn die Namen der Quelldatenspalten und die Zielfeature-IDs unterschiedlich sind, fügen Sie den sourceField-Parameter ein. Beachten Sie, dass Sie mit featurestores.entityTypes.writeFeatureValues Featurewerte nur für eine Entität auf einmal importieren können.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Region, in der der Featurestore erstellt wird. Beispiel: us-central1.
  • PROJECT: Ihre Projekt-ID.
  • FEATURESTORE_ID: ID des Featurestores.
  • ENTITY_TYPE_ID: ID des Entitätstyps.
  • FEATURE_ID: ID eines vorhandenen Features im Featurestore, für das Werte importiert werden sollen.
  • VALUE_TYPE: Der Werttyp des Features.
  • VALUE: Wert des Features.
  • TIME_STAMP (optional): Der Zeitpunkt, zu dem das Feature generiert wurde. Der Zeitstempel muss das RFC3339-UTC-Format haben.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.

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)

Weitere Sprachen

Sie können die folgenden Vertex AI-Clientbibliotheken installieren und sie verwenden, um die Vertex AI API aufzurufen. Cloud-Clientbibliotheken erleichtern Entwicklern die Programmierung, da die natürlichen Konventionen und Stile der jeweils unterstützten Sprache verwendet werden.

Nächste Schritte