Featureansicht-Instanz erstellen

Sie können eine Funktionsansicht in einer vorhandenen Onlinespeicherinstanz erstellen. Beim Erstellen einer Featureansicht können Sie die Features so verknüpfen:

  • Featuregruppen und Features aus Feature Registry hinzufügen: Verknüpfen Sie vorhandene Featuregruppen und Features aus der Feature Registry. Eine Funktionsgruppe gibt den Speicherort der BigQuery-Datenquelle an. Ein Feature innerhalb der Featuregruppe verweist auf eine bestimmte Featurespalte innerhalb dieser Datenquelle. Sie können eine Featureansicht mit mehreren Featuregruppen verknüpfen.

  • Features aus einer BigQuery-Quelle hinzufügen: Ordnen Sie eine BigQuery-Datenquelle direkt zu, z. B. eine BigQuery-Tabelle oder -Ansicht, und geben Sie mindestens eine Spalte für die Entitäts-ID an.

Nachdem Sie eine Featureansicht erstellt haben, synchronisiert der Vertex AI Feature Store die neuesten Featurewerte aus der BigQuery-Datenquelle. Wenn Sie den Abfrageparameter run_sync_immediately=true festlegen, synchronisiert Vertex AI Feature Store die Featurewerte beim Erstellen der Featureansicht. Andernfalls synchronisiert Vertex AI Feature Store die Featurewerte gemäß dem für die Featureansicht angegebenen Synchronisierungsplan.

Hinweise

Authentifizieren Sie sich bei Vertex AI, sofern nicht bereits geschehen.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

Weitere Informationen unter Set up authentication for a local development environment.

REST

Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Featuredaten in einer Featureansicht synchronisieren

Vertex AI Feature Store kann die Featurewerte aus der BigQuery-Datenquelle in der Featureansicht aktualisieren oder synchronisieren. Sie können die Art der Datensynchronisierung für eine Featureansicht mit dem Parameter FeatureView.sync_config angeben.

Vertex AI Feature Store unterstützt die folgenden Arten der Datensynchronisierung:

  • Geplante Datensynchronisierung: Sie können den Zeitplan oder die Häufigkeit für die Datensynchronisierung angeben. Sie können diese geplante Datensynchronisierung für eine Feature-Ansicht unabhängig vom für die Onlinespeicherinstanz angegebenen Onlinebereitstellungstyp auswählen.

    Wenn für Ihre Featureansicht die geplante Datensynchronisierung verwendet wird, können Sie die Wartezeit bis zum nächsten geplanten Synchronisierungsvorgang überspringen, indem Sie die Datensynchronisierung manuell starten. Weitere Informationen zum manuellen Auslösen einer Datensynchronisierung finden Sie unter Featuredaten mit dem Onlinespeicher synchronisieren.

    Wenn Sie während der Onlinebereitstellung nur die neuesten Featurewerte, einschließlich Nullwerte, bereitstellen möchten, müssen Sie die folgende Einrichtung verwenden:

    1. Registrieren Sie die Datenquelle für Features, indem Sie eine Featuregruppe erstellen, für die der Parameter dense auf true festgelegt ist.

    2. Wählen Sie die Bigtable-Onlinebereitstellung aus, wenn Sie die Onlinespeicherinstanz erstellen.

    3. Wählen Sie beim Erstellen Ihrer Feature-Ansichten die geplante Datensynchronisierung aus.

  • Kontinuierliche Datensynchronisierung: Die Feature-Daten werden aktualisiert, sobald die Feature-Daten in der BigQuery-Datenquelle aktualisiert werden. Sie können diese Art der Datensynchronisierung für eine Featureansicht nur auswählen, wenn alle folgenden Bedingungen erfüllt sind:

    • Die Onlinespeicherinstanz ist für die Onlinebereitstellung von Bigtable konfiguriert.

    • Die Featureansicht ist mit Featuregruppen und Featureressourcen verknüpft.

    • Die BigQuery-Datenquelle befindet sich in einer der folgenden Regionen:

      • eu

      • us

      • us-central1

    Für die kontinuierliche Datensynchronisierung gelten die folgenden Einschränkungen:

    • Sie können eine Featureansicht nicht aktualisieren, wenn Sie für sie die kontinuierliche Datensynchronisierung auswählen.

    • Es werden nur neue Feature-Einträge aus der BigQuery-Datenquelle synchronisiert. Bei der kontinuierlichen Datensynchronisierung werden keine Feature-Einträge synchronisiert, die Sie in BigQuery aktualisieren oder löschen.

Kosten bei der geplanten Datensynchronisierung optimieren

Ein Datensynchronisierungsvorgang kann Kosten für die BigQuery-Ressourcennutzung verursachen. Befolgen Sie diese Richtlinien, um diese Kosten zu optimieren und die Leistung während einer Datensynchronisierung zu verbessern:

  • Konfigurieren Sie den Synchronisierungsplan nicht so, dass er häufiger als die Häufigkeit ausgeführt wird, mit der sich die Daten in der BigQuery-Quelle ändern sollen.

  • Optimieren Sie die Größe der Feature-Datenquelle in BigQuery. Geben Sie beim Erstellen der Featureansicht nur die Daten an, die Sie für die Onlinebereitstellung benötigen.

  • Vermeiden Sie die Ausführung komplexer Aggregationen in BigQuery. Führen Sie für die Tabelle oder Ansicht eine SELECT *-Abfrage aus, um das Volumen und die Dauer der Datenverarbeitung zu schätzen.

  • Wenn Sie die Skalierungsoptionen für den Onlinespeicher festlegen, setzen Sie max_node_count auf einen Wert, der hoch genug ist, um hohe Lasten während einer Datensynchronisierung abzudecken.

  • Planen Sie die Synchronisierung für verschiedene Featureansichten zu verschiedenen Zeiten im selben Onlinespeicher.

  • Wenn Ihre BigQuery-Tabelle umfangreiche Verlaufsdaten enthält, sollten Sie die Tabelle mit Zeitstempeln partitionieren und einen Zeitraum für den Abruf der Featuredaten angeben. Dadurch wird das Abrufen veralteter Featuredaten während der Synchronisierung minimiert.

  • Die Bigtable-Auslastung steigt während der Datensynchronisierung. Für Featureansichten, die in Onlinespeichern für die Onlinebereitstellung von Bigtable erstellt wurden, planen Sie Synchronisierungsjobs außerhalb der Spitzenzeiten, um eine optimale Leistung zu erzielen.

Dienstkonto für eine Feature-Ansicht konfigurieren

Für jede Feature-Ansicht wird ein Dienstkonto verwendet, um während der Synchronisierung auf die Quelldaten in BigQuery zuzugreifen. Vertex AI Feature Store weist diesem Dienstkonto die IAM-Rolle (Identity and Access Management) BigQuery-Datenbetrachter zu.

Standardmäßig wird in einer Feature-Ansicht das für Ihr Projekt konfigurierte Dienstkonto verwendet. Bei dieser Konfiguration kann jeder Nutzer, der berechtigt ist, eine Feature-Ansicht in Ihrem Projekt zu erstellen, auf die Feature-Daten in BigQuery zugreifen.

Alternativ können Sie die Feature-Ansicht so konfigurieren, dass sie ein eigenes Dienstkonto verwendet. Vertex AI Feature Store richtet dann ein spezielles Dienstkonto für die Featureansicht ein. Mit dieser Konfiguration können Sie den Zugriff auf Feature-Daten in BigQuery einschränken oder zusätzlichen Nutzern Zugriff gewähren. Sie können die Konfiguration des Dienstkontos mit dem Parameter FeatureView.service_agent_type angeben.

Vektorabruf für eine Featureansicht konfigurieren

Sie können den Vektorabruf für eine Featureansicht in einem Onlinespeicher konfigurieren, der für die optimierte Onlinebereitstellung erstellt wurde, indem Sie den Parameter FeatureView.index_config verwenden. Informationen zum Vorbereiten oder Aktualisieren der BigQuery-Datenquelle für die Unterstützung von Einbettungen mithilfe der Spalte embedding finden Sie unter Richtlinien für die Vorbereitung von Datenquellen.

Beachten Sie, dass Sie den Vektorabruf und die Verwaltung von Einbettungen nur konfigurieren können, wenn die Funktionsansicht durch Angabe eines BigQuery-Quell-URI und nicht aus Featuregruppen und Features aus Feature Registry erstellt wird.

Weitere Informationen zur Suche nach den ungefähren nächsten Nachbarn mit Einbettungen in Vertex AI Feature Store finden Sie unter Mit Einbettungen suchen.

Eine Featureansicht aus Featuregruppen erstellen

Sie können eine Featureansicht basierend auf Featuredaten erstellen, die mithilfe von Featuregruppen und Features registriert wurden. Sie können mehrere Featuregruppen angeben, um mehrere BigQuery-Datenquellen mit derselben Featureansicht zu verknüpfen.

Wenn Sie eine Featureansicht durch Angabe von Featuregruppen und Features erstellen, gilt Folgendes:

  • Die Datenquelle muss eine Spalte feature_timestamp enthalten und eventuell Verlaufsdaten enthalten.

  • Vertex AI Feature Store stellt nur die neuesten Featurewerte basierend auf dem Featurezeitstempel bereit.

  • Sie können die Einbettungsverwaltung für die Featureansicht nicht konfigurieren.

Featureansicht mit der Standarddienstkontokonfiguration erstellen

Im folgenden Beispiel wird eine Featureansicht durch Verknüpfen mit mehreren Featuregruppen erstellt, ohne eine Dienstkontokonfiguration anzugeben.

REST

Senden Sie zum Erstellen einer FeatureView-Ressource eine POST-Anfrage mit der Methode featureViews.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREONLINESTORE_NAME: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • FEATUREVIEW_NAME: Der Name der neuen Featureansichtsinstanz, die Sie erstellen möchten.
  • FEATUREGROUP_NAME_A und FEATUREGROUP_NAME_B: Die Namen der Featuregruppen, aus denen Sie der Featureansicht Features hinzufügen möchten.
  • FEATURE_ID_A1 und FEATURE_ID_A2: Feature-IDs aus der Featuregruppe FEATUREGROUP_NAME_A, die Sie der Featureansicht hinzufügen möchten.
  • FEATURE_ID_B1 und FEATURE_ID_B2: Feature-IDs aus der Featuregruppe FEATUREGROUP_NAME_B, die Sie der Featureansicht hinzufügen möchten.
  • SYNC_CONFIG: Geben Sie eine der folgenden Synchronisierungskonfigurationen für die Featureansicht ein:
    • Wenn Sie die geplante Datensynchronisierung verwenden möchten, geben Sie den Synchronisierungsplan im folgenden Format an:
      "cron": "cron_schedule_expression"
      Ersetzen Sie „cron_schedule_expression“ durch den Cron-Zeitplanausdruck, der die Häufigkeit für die Synchronisierung von Daten mit der Featureansicht darstellt. Weitere Informationen finden Sie unter cron.
    • Wenn Sie die kontinuierliche Datensynchronisierung verwenden möchten, geben Sie Folgendes ein:
      "continuous": true Sie können die kontinuierliche Datensynchronisierung nur verwenden, wenn die Onlinespeicherinstanz mit der Featureansicht für die Bigtable-Onlinebereitstellung konfiguriert ist.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

JSON-Text der Anfrage:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    SYNC_CONFIG
  }
}

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Featureansicht erstellen, indem Sie eine Dienstkontokonfiguration angeben

Im folgenden Beispiel wird eine Featureansicht aus Featuregruppen erstellt, indem eine Dienstkontokonfiguration angegeben wird.

REST

Senden Sie zum Erstellen einer FeatureView-Ressource eine POST-Anfrage mit der Methode featureViews.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREONLINESTORE_NAME: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • FEATUREVIEW_NAME: Der Name der neuen Featureansichtsinstanz, die Sie erstellen möchten.
  • FEATUREGROUP_NAME_A und FEATUREGROUP_NAME_B: Die Namen der Featuregruppen, aus denen Sie der Featureansicht Features hinzufügen möchten.
  • FEATURE_ID_A1 und FEATURE_ID_A2: Feature-IDs aus der Featuregruppe FEATUREGROUP_NAME_A, die Sie der Featureansicht hinzufügen möchten.
  • FEATURE_ID_B1 und FEATURE_ID_B2: Feature-IDs aus der Featuregruppe FEATUREGROUP_NAME_B, die Sie der Featureansicht hinzufügen möchten.
  • SYNC_CONFIG: Geben Sie eine der folgenden Synchronisierungskonfigurationen für die Featureansicht ein:
    • Wenn Sie die geplante Datensynchronisierung verwenden möchten, geben Sie den Synchronisierungsplan im folgenden Format an:
      "cron": "cron_schedule_expression"
      Ersetzen Sie „cron_schedule_expression“ durch den Cron-Zeitplanausdruck, der die Häufigkeit für die Synchronisierung von Daten mit der Featureansicht darstellt. Weitere Informationen finden Sie unter cron.
    • Wenn Sie die kontinuierliche Datensynchronisierung verwenden möchten, geben Sie Folgendes ein:
      "continuous": true Sie können die kontinuierliche Datensynchronisierung nur verwenden, wenn die Onlinespeicherinstanz mit der Featureansicht für die Bigtable-Onlinebereitstellung konfiguriert ist.
  • SERVICE_AGENT_TYPE: Optional: Konfiguration des Dienstkontos für die Featureansicht. Zu den unterstützten Dienst-Agent-Typen gehören folgende:
    • SERVICE_AGENT_TYPE_PROJECT: Verwenden Sie das Dienstkonto auf Projektebene für die Featureansicht. Dies ist die Standardkonfiguration.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Richten Sie ein dediziertes Dienstkonto für die Featureansicht ein und verwenden Sie es.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

JSON-Text der Anfrage:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    SYNC_CONFIG
  },
  "service_agent_type": "SERVICE_AGENT_TYPE"
}

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_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

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_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Eine Featureansicht aus einer BigQuery-Quelle erstellen

Wenn Sie Features online bereitstellen möchten, ohne Ihre BigQuery-Datenquelle mithilfe von Featuregruppen und Features zu registrieren, können Sie eine Featureansicht erstellen. Geben Sie dazu den URI der BigQuery-Datenquelle an.

Wenn Sie eine Featureansicht durch Angabe der Datenquelle erstellen:

  • Sie können keine feature_timestamp-Spalte in die BigQuery-Tabelle oder -Ansicht aufnehmen.

  • Sie können keine bisherigen Featurewerte in die Datenquelle aufnehmen. Jede Zeile muss eine eindeutige Entitäts-ID enthalten.

Eine Featureansicht erstellen, die das Standarddienstkonto verwendet und keine Einbettungen unterstützt

In den folgenden Beispielen wird eine Featureansicht erstellt, die keine Einbettungen unterstützt. Dazu wird eine BigQuery-Datenquelle direkt verknüpft, ohne eine Dienstkontokonfiguration anzugeben.

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
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_view_from_bq_source(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=feature_store.utils.FeatureViewBigQuerySource(
            uri=bq_table_uri, entity_id_columns=entity_id_columns
        ),
    )
    return fv

  • project: Ihre Projekt-ID.
  • location: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • existing_feature_online_store_id: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • feature_view_id: Der Name der neuen Featureansichtsinstanz, die Sie erstellen möchten.
  • bq_table_uri: URI der BigQuery-Quelltabelle oder ‑ansicht.
  • entity_id_columns: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name".
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Senden Sie zum Erstellen einer FeatureView-Ressource eine POST-Anfrage mit der Methode featureViews.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREONLINESTORE_NAME: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • FEATUREVIEW_NAME: Der Name der neuen Featureansicht, die Sie erstellen möchten.
  • PROJECT_NAME: der Name Ihres Projekts
  • DATASET_NAME ist der Name Ihres BigQuery-Datasets.
  • TABLE_NAME: Der Name der Tabelle aus Ihrem BigQuery-Dataset.
  • ENTITY_ID_COLUMNS: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name"
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Cron-Zeitplanausdruck, der die Häufigkeit für die Synchronisierung von Daten mit der Featureansicht darstellt. Weitere Informationen finden Sie unter Cron.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

JSON-Text der Anfrage:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  }
}

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Featureansicht erstellen, die das Standarddienstkonto verwendet und Einbettungen unterstützt

In den folgenden Beispielen wird eine Featureansicht mit Einbettungsunterstützung durch direkte Verknüpfung einer BigQuery-Datenquelle und ohne Angabe einer Dienstkontokonfiguration erstellt.

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
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_view_from_bq_source_with_embedding_management(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
    embedding_column: str,
    embedding_dimensions: int,
):
    aiplatform.init(project=project, location=location)

    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)

    bigquery_source = feature_store.utils.FeatureViewBigQuerySource(
        uri=bq_table_uri,
        entity_id_columns=entity_id_columns,
    )
    index_config = feature_store.utils.IndexConfig(
        embedding_column=embedding_column,
        dimensions=embedding_dimensions,
        algorithm_config=feature_store.utils.TreeAhConfig(),
    )
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=bigquery_source,
        index_config=index_config,
    )
    return fv

  • project: Ihre Projekt-ID.
  • location: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • existing_feature_online_store_id: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • feature_view_id: Der Name der neuen Featureansichtsinstanz, die Sie erstellen möchten.
  • bq_table_uri: URI der BigQuery-Quelltabelle oder ‑ansicht.
  • entity_id_columns: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name".
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • embedding_column: Der Name der Spalte, die die Quelldaten enthält, um den Index für die Vektorsuche zu erstellen. Das ist nur erforderlich, wenn Sie Einbettungen mit der Funktionsansicht verwalten möchten.
  • embedding_dimensions: Optional. Die Größe einer Einbettung, angegeben in der Anzahl der Dimensionen in der Einbettungsspalte.

REST

Senden Sie zum Erstellen einer FeatureView-Ressource eine POST-Anfrage mit der Methode featureViews.create.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREONLINESTORE_NAME: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • FEATUREVIEW_NAME: Der Name der neuen Featureansicht, die Sie erstellen möchten.
  • PROJECT_NAME: der Name Ihres Projekts
  • DATASET_NAME ist der Name Ihres BigQuery-Datasets.
  • TABLE_NAME: Der Name der Tabelle aus Ihrem BigQuery-Dataset.
  • ENTITY_ID_COLUMNS: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name"
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Cron-Zeitplanausdruck, der die Häufigkeit für die Synchronisierung von Daten mit der Featureansicht darstellt. Weitere Informationen finden Sie unter Cron.
  • EMBEDDING_COLUMN: Der Name der Spalte, die die Quelldaten enthält, um den Index für die Vektorsuche zu erstellen. Das ist nur erforderlich, wenn Sie Einbettungen mit der Funktionsansicht verwalten möchten.
  • FILTER_COLUMN_1 und FILTER_COLUMN_2: Optional: Die Namen der Spalten, nach denen die Vektorsuchergebnisse gefiltert werden.
  • CROWDING_COLUMN: Optional: Der Name der Spalte mit den Crowding-Attributen.
  • EMBEDDING_DIMENSION: Optional: Die Größe einer Einbettung, angegeben in der Anzahl der Dimensionen in der Einbettungsspalte.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

JSON-Text der Anfrage:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Eine Featureansicht mit Einbettungsverwaltung erstellen, indem Sie eine Dienstkontokonfiguration angeben

Im folgenden Beispiel wird eine Featureansicht mit Einbettungsunterstützung erstellt. Dazu wird eine BigQuery-Datenquelle direkt verknüpft und eine Dienstkontokonfiguration angegeben.

REST

Senden Sie zum Erstellen einer FeatureView-Ressource mit Unterstützung für Einbettungen eine POST-Anfrage mit der Methode featureViews.create und geben Sie den Parameter FeatureView.index_config an. Beachten Sie, dass Sie die Einbettungsverwaltung nur verwenden können, wenn der Onlinespeicher für die optimierte Onlinebereitstellung konfiguriert ist.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Region, in der Sie die Featureansicht erstellen möchten, z. B. us-central1.
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREONLINESTORE_NAME: Der Name der Online-Speicherinstanz, in der Sie die Featureansicht erstellen möchten.
  • FEATUREVIEW_NAME: Der Name der neuen Featureansicht, die Sie erstellen möchten.
  • PROJECT_NAME: der Name Ihres Projekts
  • DATASET_NAME ist der Name Ihres BigQuery-Datasets.
  • TABLE_NAME: Der Name der Tabelle aus Ihrem BigQuery-Dataset.
  • ENTITY_ID_COLUMNS: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name"
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...]
  • CRON: Cron-Zeitplanausdruck, der die Häufigkeit für die Synchronisierung von Daten mit der Featureansicht darstellt. Weitere Informationen finden Sie unter Cron.
  • SERVICE_AGENT_TYPE: Konfiguration des Dienstkontos für die Featureansicht. Zu den unterstützten Dienst-Agent-Typen gehören folgende:
    • SERVICE_AGENT_TYPE_PROJECT: Verwenden Sie das Dienstkonto auf Projektebene für die Featureansicht. Dies ist die Standardkonfiguration.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Richten Sie ein dediziertes Dienstkonto für die Featureansicht ein und verwenden Sie es.
  • EMBEDDING_COLUMN: Der Name der Spalte, die die Quelldaten enthält, um den Index für die Vektorsuche zu erstellen. Das ist nur erforderlich, wenn Sie Einbettungen mit der Funktionsansicht verwalten möchten.
  • FILTER_COLUMN_1 und FILTER_COLUMN_2: Optional: Die Namen der Spalten, nach denen die Vektorsuchergebnisse gefiltert werden.
  • CROWDING_COLUMN: Optional: Der Name der Spalte mit den Crowding-Attributen.
  • EMBEDDING_DIMENSION: Optional: Die Größe einer Einbettung, angegeben in der Anzahl der Dimensionen in der Einbettungsspalte.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

JSON-Text der Anfrage:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "service_agent_type": "SERVICE_AGENT_TYPE",
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

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_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

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_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Nächste Schritte