Créer un groupe de caractéristiques

Vous pouvez créer un groupe de caractéristiques pour enregistrer une table ou une vue BigQuery contenant vos données de caractéristiques.

Pour chaque table ou vue BigQuery que vous associez à un groupe de caractéristiques, vous devez vous assurer que:

  • Le schéma de la source de données est conforme aux consignes de préparation des sources de données.

  • La source de données contient les ID d'entité en tant que valeurs string dans une colonne nommée entity_id.

  • La source de données contient les horodatages de caractéristiques de type timestamp dans une colonne appelée feature_timestamp.

Après avoir créé un groupe de caractéristiques et associé la source de données BigQuery, vous pouvez créer des caractéristiques à associer aux colonnes de la source de données. Il est facultatif de spécifier une source de données lors de la création du groupe de caractéristiques. Cependant, vous devez spécifier une source de données avant de créer des caractéristiques.

L'enregistrement de votre source de données à l'aide de groupes de caractéristiques et de caractéristiques présente les avantages suivants:

  • Vous pouvez définir une vue de caractéristiques pour la livraison en ligne à l'aide de colonnes de caractéristiques spécifiques provenant de plusieurs sources de données BigQuery.

  • Vous pouvez mettre en forme vos données en tant que séries temporelles en incluant la colonne feature_timestamp. Vertex AI Feature Store ne diffuse que les dernières valeurs de caractéristiques à partir des données de caractéristiques et exclut les valeurs historiques.

  • Vous pouvez découvrir la source BigQuery en tant que source de données de caractéristique associée lorsque vous recherchez la ressource de groupe de caractéristiques dans Data Catalog.

Avant de commencer

Authentifiez-vous auprès de Vertex AI, sauf si vous l'avez déjà fait.

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

Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

  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.

Pour en savoir plus, consultez Set up authentication for a local development environment.

REST

Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

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

    gcloud init

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Créer un groupe de caractéristiques à partir d'une source BigQuery

Utilisez l'exemple suivant pour créer un groupe de caractéristiques et associer une source de données BigQuery.

Console

Suivez les instructions ci-dessous pour créer un groupe de caractéristiques à l'aide de la console Google Cloud.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la page Feature Store.

    Accéder à la page Feature Store

  2. Dans la section Groupes de fonctionnalités, cliquez sur Créer pour ouvrir le volet Informations générales sur la page Créer un groupe de fonctionnalités.

  3. Spécifiez le nom du groupe de caractéristiques.

  4. Facultatif : Pour ajouter des étiquettes, cliquez sur Ajouter une étiquette, puis spécifiez son nom et sa valeur. Vous pouvez ajouter plusieurs libellés à un groupe de caractéristiques.

  5. Dans le champ Chemin d'accès BigQuery, cliquez sur Parcourir pour sélectionner la table ou la vue source BigQuery à associer au groupe de caractéristiques.

  6. Facultatif : Dans la liste Colonne d'ID d'entité, cliquez sur la colonne d'ID d'entité dans la table ou la vue source BigQuery.

  7. Cliquez sur Continuer.

  8. Dans le volet Enregistrer, cliquez sur l'une des options suivantes pour indiquer si vous souhaitez ajouter des caractéristiques au nouveau groupe de caractéristiques :

    • Inclure toutes les colonnes de la table BigQuery : créez des caractéristiques dans le groupe de caractéristiques pour toutes les colonnes de la table ou de la vue source BigQuery.

    • Saisir manuellement vos caractéristiques : créez des caractéristiques en fonction de colonnes spécifiques de la source BigQuery. Pour chaque caractéristique, saisissez un nom de caractéristique, puis cliquez sur le nom de la colonne source BigQuery correspondante dans la liste.

      Pour ajouter des caractéristiques, cliquez sur Ajouter une caractéristique.

    • Créer un groupe de caractéristiques vide : créez le groupe de caractéristiques sans y ajouter de caractéristiques.

  9. Cliquez sur Créer.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_group_sample(
    project: str,
    location: str,
    feature_group_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
):
    aiplatform.init(project=project, location=location)
    fg = feature_store.FeatureGroup.create(
        name=feature_group_id,
        source=feature_store.utils.FeatureGroupBigQuerySource(
            uri=bq_table_uri, entity_id_columns=entity_id_columns
        ),
    )
    return fg

  • project : ID de votre projet
  • location: région dans laquelle vous souhaitez créer le groupe de caractéristiques, par exemple us-central1.
  • feature_group_id: nom du nouveau groupe de caractéristiques que vous souhaitez créer.
  • bq_table_uri: URI de la table ou de la vue source BigQuery que vous souhaitez enregistrer pour le groupe de caractéristiques.
  • entity_id_columns : noms de la ou des colonnes contenant les ID d'entité. Vous pouvez spécifier une ou plusieurs colonnes.
    • Pour ne spécifier qu'une seule colonne d'ID d'entité, spécifiez le nom de la colonne au format suivant :
      "entity_id_column_name".
    • Pour spécifier plusieurs colonnes d'ID d'entité, spécifiez les noms de colonne au format suivant :
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Pour créer une ressource FeatureGroup, envoyez une requête POST à l'aide de la méthode featureGroups.create.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION_ID: région dans laquelle vous souhaitez créer le groupe de caractéristiques, par exemple us-central1.
  • ENTITY_ID_COLUMNS : noms de la ou des colonnes contenant les ID d'entité. Vous pouvez spécifier une ou plusieurs colonnes.
    • Pour ne spécifier qu'une seule colonne d'ID d'entité, spécifiez le nom de la colonne au format suivant :
      "entity_id_column_name".
    • Pour spécifier plusieurs colonnes d'ID d'entité, spécifiez les noms de colonne au format suivant :
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • PROJECT_ID : ID de votre projet
  • FEATUREGROUP_NAME: nom du nouveau groupe de caractéristiques que vous souhaitez créer.
  • BIGQUERY_SOURCE_URI: URI de la table ou de la vue source BigQuery que vous souhaitez enregistrer pour le groupe de caractéristiques.

Méthode HTTP et URL :

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME

Corps JSON de la requête :

{
  "big_query": {
    "entity_id_columns": "ENTITY_ID_COLUMNS",
    "big_query_source": {
      "input_uri": "BIGQUERY_SOURCE_URI"
    }
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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/featureGroups?feature_group_id=FEATUREGROUP_NAME"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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/featureGroups?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T03:00:13.060636Z",
      "updateTime": "2023-09-18T03:00:13.060636Z"
    }
  }
}

Étapes suivantes