Creare un gruppo di funzionalità

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

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

Dopo aver creato un gruppo di funzionalità e associato l'origine dati BigQuery, puoi creare funzionalità 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 vista delle caratteristiche per l'erogazione online utilizzando colonne di funzionalità specifiche di più origini dati BigQuery.

  • Facoltativamente, puoi formattare i dati come serie temporali specificando una colonna del timestamp della funzionalità. Vertex AI Feature Store pubblica solo i valori delle funzionalità più recenti dai dati delle funzionalità ed esclude i valori storici.

  • Puoi trovare l'origine BigQuery come origine dati associata quando cerchi la risorsa del gruppo di funzionalità in Data Catalog.

  • Puoi configurare il monitoraggio delle funzionalità per recuperare le statistiche sulle funzionalità e rilevare la deviazione delle funzionalità.

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 saperne di più, 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 i seguenti esempi per creare un gruppo di funzionalità 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 funzionalità.

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

  7. Fai clic su Continua.

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

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

    • Inserisci manualmente gli elementi: crea elementi 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 funzionalità, ad esempio us-central1.
  • feature_group_id: il nome del nuovo gruppo di funzionalità da creare.
  • bq_table_uri: URI della tabella o della vista di origine BigQuery che vuoi registrare per il gruppo di funzionalità.
  • 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 del tuo progetto.
  • FEATUREGROUP_NAME: il nome del nuovo gruppo di funzionalità 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 funzionalità nella tabella o nella vista di origine BigQuery.
    Devi specificare il nome della colonna del timestamp solo se i dati sono formattati come serie temporali e la colonna contenente i timestamp delle funzionalità non è denominata feature_timestamp.
  • STATIC_DATA_SOURCE: facoltativo. Inserisci true se i dati non sono formattati come serie temporali. L'impostazione predefinita è false.
  • DENSE: facoltativo. Indica in che modo Vertex AI Feature Store gestisce i valori null durante la pubblicazione dei dati dalle visualizzazioni delle funzionalità associate al gruppo di funzionalità:
    • false: questa è l'impostazione predefinita. Vertex AI Feature Store pubblica solo gli ultimi valori delle funzionalità non null. Se il valore più recente di una funzionalità è null, Vertex AI Feature Store pubblica il valore storico non nullo più recente. 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 funzionalità con sincronizzazione continua dei dati, Vertex AI Feature Store fornisce solo i valori delle funzionalità non nulli più recenti. Tuttavia, se i valori correnti e storici della funzionalità sono null, Vertex AI Feature Store pubblica null come valore della funzionalità. Per ulteriori informazioni sui tipi di sincronizzazione dei dati e su come configurare il tipo di sincronizzazione dei dati in una vista elemento, consulta Sincronizzare i dati in una vista elemento.

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, quindi esegui il comando seguente:

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, quindi esegui il comando seguente:

$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