Creare un gruppo di funzionalità

Puoi creare un gruppo di caratteristiche per registrare una tabella o una vista BigQuery che contiene i dati delle tue caratteristiche.

Per qualsiasi tabella o vista BigQuery associata a un gruppo di funzionalità, devi assicurarti quanto segue:

Dopo aver creato un gruppo di caratteristiche e associato i dati BigQuery puoi creare caratteristiche da associare alle colonne nell'origine dati. È facoltativo specificare un'origine dati durante la creazione del gruppo di funzionalità. Tuttavia, devi specificare un'origine dati prima di creare le funzionalità.

La registrazione dell'origine dati utilizzando gruppi di funzionalità e funzionalità presenta i seguenti vantaggi:

  • Puoi definire una visualizzazione caratteristiche per la pubblicazione online utilizzando una caratteristica specifica da più origini dati BigQuery.

  • Facoltativamente, puoi formattare i dati come serie temporale specificando una caratteristica colonna timestamp. Vertex AI Feature Store gestisce solo i valori delle caratteristiche dai dati delle caratteristiche ed esclude i valori storici.

  • Puoi scoprire l'origine BigQuery come caratteristica associata dell'origine dati quando cerchi la risorsa del gruppo di caratteristiche in Data Catalog (Catalogo dati).

Prima di iniziare

Esegui l'autenticazione su Vertex AI, se non l'hai ancora fatto.

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

Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

  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.

Per ulteriori informazioni, consulta Set up authentication for a local development environment.

REST

Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

    gcloud init

Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Creare un gruppo di funzionalità da un'origine BigQuery

Utilizza gli esempi riportati di seguito per creare un gruppo di caratteristiche e associare un Origine dati BigQuery.

Console

Segui le istruzioni riportate di seguito per creare un gruppo di funzionalità utilizzando la console Google Cloud.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla pagina Feature Store.

    Vai alla pagina Feature Store

  2. Nella sezione Gruppi di elementi, fai clic su Crea per aprire il riquadro Informazioni di base nella pagina Crea gruppo di elementi.

  3. Specifica il nome del gruppo di funzionalità.

  4. (Facoltativo) Per aggiungere etichette, fai clic su Aggiungi etichetta e specifica il nome e il valore dell'etichetta. Puoi aggiungere più etichette a un gruppo di funzionalità.

  5. Nel campo Percorso BigQuery, fai clic su Sfoglia per selezionare la tabella o la vista di origine BigQuery da associare al gruppo di caratteristiche.

  6. (Facoltativo) Nell'elenco Colonna ID entità, fai clic sulla colonna ID entità dalla tabella o dalla vista di origine BigQuery.

  7. Fai clic su Continua.

  8. Nel riquadro Registra, fai clic su una delle seguenti opzioni per indicare se desideri aggiungere caratteristiche al nuovo gruppo di caratteristiche:

    • Includi tutte le colonne della tabella BigQuery: crea caratteristiche all'interno del gruppo di caratteristiche per tutte le colonne nella tabella o nella vista di origine BigQuery.

    • Inserisci manualmente le caratteristiche: crea caratteristiche in base a colonne specifiche nell'origine BigQuery. Per ogni elemento, inserisci un nome elemento e fai clic sul nome della colonna di origine BigQuery corrispondente nell'elenco.

      Per aggiungere altre funzionalità, fai clic su Aggiungi un'altra funzionalità.

    • Crea un gruppo di funzionalità vuoto: crea il gruppo di funzionalità senza aggiungere funzionalità.

  9. Fai clic su Crea.

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
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: l'ID del tuo progetto.
  • location: regione in cui vuoi creare il gruppo di caratteristiche, ad esempio us-central1.
  • feature_group_id: il nome del nuovo gruppo di funzionalità che vuoi creare.
  • bq_table_uri: URI della tabella o della vista di origine BigQuery che vuoi registrare per il gruppo di caratteristiche.
  • entity_id_columns: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Per creare una risorsa FeatureGroup, invia una richiesta POST utilizzando il metodo featureGroups.create.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION_ID: regione in cui vuoi creare il gruppo di funzionalità, ad esempio us-central1.
  • ENTITY_ID_COLUMNS: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • PROJECT_ID: l'ID progetto.
  • FEATUREGROUP_NAME: il nome del nuovo gruppo di caratteristiche che vuoi creare.
  • BIGQUERY_SOURCE_URI: URI della tabella o della vista di origine BigQuery che vuoi registrare per il gruppo di funzionalità.
  • TIMESTAMP_COLUMN: facoltativo. Specifica il nome della colonna contenente i timestamp delle caratteristiche nella tabella o nella vista di origine BigQuery.
    Devi specificare la colonna del timestamp solo se i dati sono formattati come serie temporale e la colonna contenente i timestamp delle caratteristiche non hanno il nome feature_timestamp.
  • STATIC_DATA_SOURCE: facoltativo. Inserisci true se i dati non sono formattati come serie temporale. L'impostazione predefinita è false.
  • DENSE: facoltativo. Indica come Vertex AI Feature Store gestisce i valori null durante la fornitura dei dati dalle visualizzazioni delle caratteristiche associate al gruppo di caratteristiche:
    • false: questa è l'impostazione predefinita. Feature Store di Vertex AI pubblica solo i valori delle caratteristiche non null più recenti. Se l'ultimo valore di una caratteristica è nullo, Vertex AI Feature Store pubblica lo storico non null più recente valore. Tuttavia, se i valori attuali e storici per la funzionalità sono null, Vertex AI Feature Store pubblica null come valore della funzionalità.
    • true: per le visualizzazioni delle funzionalità con sincronizzazione dei dati pianificata, Vertex AI Feature Store pubblica solo i valori delle funzionalità più recenti, inclusi quelli null. Per le visualizzazioni delle caratteristiche con sincronizzazione continua dei dati, Vertex AI Feature Store pubblica solo i valori delle caratteristiche non null più recenti. Tuttavia, se i valori attuali e storici i valori della caratteristica sono nulli, allora Vertex AI Feature Store pubblica un valore nullo come valore della caratteristica. Per ulteriori informazioni sui tipi di sincronizzazione dei dati e su come configurare il tipo di la sincronizzazione dei dati in una visualizzazione caratteristiche, vedi Sincronizzare i dati in una visualizzazione caratteristiche.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "big_query": {
    "entity_id_columns": "ENTITY_ID_COLUMNS",
    "big_query_source": {
      "input_uri": "BIGQUERY_SOURCE_URI",
    }
    "time_series": {
      "timestamp_column": ""TIMESTAMP_COLUMN"",
    },
    "static_data_source": STATIC_DATA_SOURCE,
    "dense": DENSE
  }
}

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME"

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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
    }
  }
}

Passaggi successivi