Crea un'istanza di visualizzazione caratteristiche

Puoi creare una visualizzazione caratteristiche all'interno di un'istanza esistente di un archivio online. Durante la creazione di una visualizzazione caratteristiche, puoi associarvi le caratteristiche nei seguenti modi:

  • Aggiungi gruppi di caratteristiche e caratteristiche dal registro di caratteristiche: associalo a caratteristiche e gruppi di caratteristiche esistenti del Registro di caratteristiche. Un gruppo di caratteristiche specifica la località dell'origine dati BigQuery. Una caratteristica all'interno del gruppo di caratteristiche rimanda a una colonna di caratteristiche specifica all'interno dell'origine dati. Puoi associare una visualizzazione delle caratteristiche a più gruppi di caratteristiche.

  • Aggiunta di funzionalità da un'origine BigQuery: associa direttamente un'origine dati BigQuery, ad esempio una tabella o una vista BigQuery, e specifica almeno una colonna di ID entità.

Dopo aver creato una vista caratteristiche, Vertex AI Feature Store sincronizza i valori delle caratteristiche più recenti dall'origine dati BigQuery. Se imposti il parametro di query run_sync_immediately=true, Vertex AI Feature Store sincronizza i valori delle caratteristiche quando crei la visualizzazione delle caratteristiche. In caso contrario, Vertex AI Feature Store sincronizza i valori delle caratteristiche in base alla pianificazione di sincronizzazione specificata per la visualizzazione delle caratteristiche.

Prima di iniziare

Autentica in Vertex AI, se non l'hai già 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  3. Crea credenziali di autenticazione locali per il tuo Account Google:

    gcloud auth application-default login

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

REST

Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

    Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

    gcloud init

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

Sincronizzare i dati delle caratteristiche in una visualizzazione delle caratteristiche

Vertex AI Feature Store aggiorna o sincronizza periodicamente i valori delle caratteristiche archiviati nell'archivio online da BigQuery. Quando crei una visualizzazione delle caratteristiche, puoi specificare la pianificazione o la frequenza della sincronizzazione dei dati utilizzando il parametro FeatureView.sync_config.

Hai anche la possibilità di attivare manualmente una sincronizzazione dei dati per una visualizzazione caratteristiche. Per ulteriori informazioni su come sincronizzare manualmente i dati per una visualizzazione caratteristiche, consulta Sincronizzare i dati delle funzionalità con l'archivio online.

Tieni presente che per una visualizzazione delle caratteristiche può essere attiva una sola operazione di sincronizzazione dei dati alla volta. Se è in corso una sincronizzazione dei dati per una visualizzazione caratteristiche, tutte le sincronizzazioni dei dati pianificate per quella visualizzazione caratteristiche vengono ignorate fino al completamento della sincronizzazione.

Ottimizza i costi durante la sincronizzazione

Un'operazione di sincronizzazione dei dati potrebbe comportare dei costi per l'utilizzo delle risorse BigQuery. Segui queste linee guida per ottimizzare questi costi e migliorare le prestazioni durante una sincronizzazione dei dati:

  • Non configurare la pianificazione della sincronizzazione in modo che venga eseguita con una frequenza maggiore rispetto alla frequenza di modifica dei dati nell'origine BigQuery.

  • Ottimizzare le dimensioni dell'origine dati delle caratteristiche in BigQuery. Durante la creazione della visualizzazione caratteristiche, includi solo i dati necessari per la pubblicazione online.

  • Evita di eseguire aggregazioni complesse in BigQuery. Esegui una query SELECT * sulla tabella o sulla vista per stimare il volume e la durata dell'elaborazione dei dati.

  • Durante l'impostazione delle opzioni di scalabilità per l'archivio online, imposta max_node_count su un valore sufficientemente elevato da coprire carichi elevati durante una sincronizzazione dei dati.

  • Pianificare la sincronizzazione per visualizzazioni caratteristiche diverse in momenti diversi all'interno dello stesso archivio online.

  • Se la tabella BigQuery contiene molti dati storici, valuta la possibilità di partizionare la tabella utilizzando timestamp e specifica un intervallo di tempo per recuperare i dati delle caratteristiche. In questo modo si riduce al minimo il recupero di dati di caratteristiche obsoleti durante la sincronizzazione.

  • L'utilizzo di Bigtable aumenta durante le sincronizzazioni dei dati. Per le visualizzazioni delle caratteristiche create all'interno degli archivi online per la pubblicazione online di Bigtable, pianifica i job di sincronizzazione durante i periodi di punta per ottenere le migliori prestazioni.

Configurare l'account di servizio per una visualizzazione caratteristiche

Ogni visualizzazione delle caratteristiche utilizza un account di servizio per accedere ai dati di origine in BigQuery durante la sincronizzazione. Vertex AI Feature Store assegna il ruolo Visualizzatore dati BigQuery di Identity and Access Management (IAM) a questo account di servizio.

Per impostazione predefinita, la visualizzazione delle caratteristiche utilizza l'account di servizio configurato per il progetto. Con questa configurazione, qualsiasi utente con l'autorizzazione per creare una visualizzazione delle caratteristiche nel tuo progetto può accedere ai dati delle caratteristiche in BigQuery.

In alternativa, puoi configurare la visualizzazione delle caratteristiche in modo che utilizzi il proprio account di servizio. Vertex AI Feature Store configura un account di servizio dedicato per la vista caratteristiche. Con questa configurazione puoi limitare l'accesso ai dati delle caratteristiche in BigQuery o concedere l'accesso ad altri utenti. Puoi specificare la configurazione dell'account di servizio utilizzando il parametro FeatureView.service_agent_type.

Configurare il recupero vettoriale per una visualizzazione delle caratteristiche

Puoi configurare il recupero vettoriale per una visualizzazione caratteristiche all'interno di un negozio online creato per la pubblicazione online ottimizzata utilizzando il parametro FeatureView.index_config. Per informazioni su come preparare o aggiornare l'origine dati BigQuery per supportare gli incorporamenti includendo la colonna embedding, consulta le linee guida sulla preparazione dell'origine dati.

Tieni presente che puoi configurare il recupero vettoriale e gestire gli incorporamenti solo se la visualizzazione delle caratteristiche viene creata specificando un URI di origine BigQuery e non da gruppi di caratteristiche e caratteristiche del registro di caratteristiche.

Per ulteriori informazioni su come cercare i vicini più prossimi approssimati utilizzando gli incorporamenti in Vertex AI Feature Store, consulta Ricerca utilizzando gli incorporamenti.

Creare una visualizzazione delle caratteristiche dai gruppi di caratteristiche

Puoi creare una visualizzazione delle caratteristiche in base ai dati delle caratteristiche registrati utilizzando gruppi di caratteristiche e caratteristiche. Per associare più origini dati BigQuery alla stessa vista caratteristiche, puoi specificare più gruppi di caratteristiche.

Se crei una visualizzazione delle caratteristiche specificando gruppi di caratteristiche e caratteristiche:

  • L'origine dati deve avere una colonna feature_timestamp e può contenere dati storici.

  • Vertex AI Feature Store gestisce solo i valori delle caratteristiche più recenti in base al timestamp delle caratteristiche.

  • Non puoi configurare la gestione dell'incorporamento per la visualizzazione caratteristiche.

Crea una visualizzazione caratteristiche con la configurazione predefinita dell'account di servizio

Usa l'esempio seguente per creare una visualizzazione caratteristiche associando più gruppi di caratteristiche senza specificare una configurazione dell'account di servizio.

REST

Per creare una risorsa FeatureView, invia una richiesta POST utilizzando il metodo featureViews.create.

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

  • LOCATION_ID: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • FEATUREVIEW_NAME: il nome della nuova istanza di visualizzazione caratteristiche che vuoi creare.
  • FEATUREGROUP_NAME_A e FEATUREGROUP_NAME_B: i nomi dei gruppi di caratteristiche da cui vuoi aggiungere caratteristiche alla visualizzazione delle caratteristiche.
  • FEATURE_ID_A1 e FEATURE_ID_A2: ID caratteristica del gruppo di caratteristiche FEATUREGROUP_NAME_A che vuoi aggiungere alla visualizzazione delle caratteristiche.
  • FEATURE_ID_B1 e FEATURE_ID_B2: ID caratteristica del gruppo di caratteristiche FEATUREGROUP_NAME_B che vuoi aggiungere alla visualizzazione delle caratteristiche.
  • CRON: espressione di pianificazione cron che rappresenta la frequenza di sincronizzazione dei dati con la visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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": {
    "cron": "CRON"
  }
}

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

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

Crea una visualizzazione caratteristiche specificando la configurazione di un account di servizio

Utilizza l'esempio seguente per creare una visualizzazione caratteristiche dai gruppi di caratteristiche specificando una configurazione dell'account di servizio.

REST

Per creare una risorsa FeatureView, invia una richiesta POST utilizzando il metodo featureViews.create.

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

  • LOCATION_ID: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • FEATUREVIEW_NAME: il nome della nuova istanza di visualizzazione caratteristiche che vuoi creare.
  • FEATUREGROUP_NAME_A e FEATUREGROUP_NAME_B: i nomi dei gruppi di caratteristiche da cui vuoi aggiungere caratteristiche alla visualizzazione delle caratteristiche.
  • FEATURE_ID_A1 e FEATURE_ID_A2: ID caratteristica del gruppo di caratteristiche FEATUREGROUP_NAME_A che vuoi aggiungere alla visualizzazione delle caratteristiche.
  • FEATURE_ID_B1 e FEATURE_ID_B2: ID caratteristica del gruppo di caratteristiche FEATUREGROUP_NAME_B che vuoi aggiungere alla visualizzazione delle caratteristiche.
  • CRON: espressione di pianificazione cron che rappresenta la frequenza di sincronizzazione dei dati con la visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.
  • SERVICE_AGENT_TYPE: facoltativo: configurazione dell'account di servizio per la visualizzazione caratteristiche. I tipi di agenti di servizio supportati includono:
    • SERVICE_AGENT_TYPE_PROJECT: utilizza l'account di servizio a livello di progetto per la visualizzazione caratteristiche. Questa è la configurazione predefinita.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: configura e utilizza un account di servizio dedicato per la visualizzazione caratteristiche.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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": {
    "cron": "CRON"
  },
  "service_agent_type": "SERVICE_AGENT_TYPE"
}

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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Crea una visualizzazione caratteristiche da un'origine BigQuery

Se vuoi gestire le caratteristiche online senza registrare l'origine dati BigQuery utilizzando gruppi di caratteristiche e caratteristiche, puoi creare una visualizzazione delle caratteristiche specificando l'URI dell'origine dati BigQuery.

Se crei una visualizzazione delle caratteristiche specificando l'origine dati:

  • Non puoi includere una colonna feature_timestamp nella tabella o nella vista BigQuery.

  • Non puoi includere i valori storici delle caratteristiche nell'origine dati. Ogni riga deve contenere un ID entità univoco.

Crea una visualizzazione caratteristiche che utilizzi l'account di servizio predefinito e supporti gli incorporamenti

Utilizza gli esempi riportati di seguito per creare una visualizzazione delle caratteristiche che non supporti gli incorporamenti, associando direttamente un'origine dati BigQuery e senza specificare una configurazione dell'account di servizio.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, 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_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: l'ID progetto.
  • location: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • existing_feature_online_store_id: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • feature_view_id: il nome della nuova istanza di visualizzazione caratteristiche che vuoi creare.
  • bq_table_uri: URI della tabella o della vista di origine BigQuery.
  • entity_id_columns: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna di ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne di 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 FeatureView, invia una richiesta POST utilizzando il metodo featureViews.create.

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

  • LOCATION_ID: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • FEATUREVIEW_NAME: il nome della nuova visualizzazione delle caratteristiche che vuoi creare.
  • PROJECT_NAME: il nome del tuo progetto.
  • DATASET_NAME: il nome del tuo set di dati BigQuery.
  • TABLE_NAME: il nome della tabella del tuo set di dati BigQuery.
  • ENTITY_ID_COLUMNS: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna di ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne di ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: espressione di pianificazione cron che rappresenta la frequenza di sincronizzazione dei dati con la visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

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

Crea una visualizzazione delle caratteristiche che utilizzi l'account di servizio predefinito e non supporti gli incorporamenti

Utilizza gli esempi seguenti per creare una visualizzazione delle caratteristiche con supporto dell'incorporamento associando direttamente un'origine dati BigQuery e senza specificare una configurazione dell'account di servizio.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, 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_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: str,
):
    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: l'ID progetto.
  • location: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • existing_feature_online_store_id: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • feature_view_id: il nome della nuova istanza di visualizzazione caratteristiche che vuoi creare.
  • bq_table_uri: URI della tabella o della vista di origine BigQuery.
  • entity_id_columns: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna di ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne di ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • embedding_column: il nome della colonna contenente i dati di origine per creare l'indice per la ricerca vettoriale. Questa operazione è necessaria solo se vuoi gestire gli incorporamenti con la visualizzazione caratteristiche.
  • embedding_dimensions: facoltativo. La dimensione, espressa come numero di dimensioni, di un incorporamento nella colonna di incorporamento.

REST

Per creare una risorsa FeatureView, invia una richiesta POST utilizzando il metodo featureViews.create.

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

  • LOCATION_ID: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • FEATUREVIEW_NAME: il nome della nuova visualizzazione delle caratteristiche che vuoi creare.
  • PROJECT_NAME: il nome del tuo progetto.
  • DATASET_NAME: il nome del tuo set di dati BigQuery.
  • TABLE_NAME: il nome della tabella del tuo set di dati BigQuery.
  • ENTITY_ID_COLUMNS: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna di ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne di ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: espressione di pianificazione cron che rappresenta la frequenza di sincronizzazione dei dati con la visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.
  • EMBEDDING_COLUMN: il nome della colonna contenente i dati di origine per creare l'indice per la ricerca vettoriale. Questa operazione è necessaria solo se vuoi gestire gli incorporamenti con la visualizzazione caratteristiche.
  • FILTER_COLUMN_1 e FILTER_COLUMN_2: (facoltativo) i nomi delle colonne utilizzate per filtrare i risultati di ricerca vettoriali.
  • CROWDING_COLUMN: facoltativo: il nome della colonna contenente gli attributi di crowding.
  • EMBEDDING_DIMENSION: (facoltativo) la dimensione, espressa in numero di dimensioni, di un incorporamento nella colonna di incorporamento.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

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

Crea una visualizzazione caratteristiche con gestione dell'incorporamento specificando una configurazione dell'account di servizio

Utilizza l'esempio seguente per creare una visualizzazione delle caratteristiche con supporto dell'incorporamento associando direttamente un'origine dati BigQuery e specificando una configurazione dell'account di servizio.

REST

Per creare una risorsa FeatureView con supporto degli incorporamenti, invia una richiesta POST utilizzando il metodo featureViews.create e specificando il parametro FeatureView.index_config. Tieni presente che puoi utilizzare la gestione dell'incorporamento solo se il negozio online è configurato per la pubblicazione online ottimizzata.

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

  • LOCATION_ID: regione in cui vuoi creare la visualizzazione delle caratteristiche, ad esempio us-central1.
  • PROJECT_ID: l'ID progetto.
  • FEATUREONLINESTORE_NAME: il nome dell'istanza del negozio online in cui vuoi creare la visualizzazione caratteristiche.
  • FEATUREVIEW_NAME: il nome della nuova visualizzazione delle caratteristiche che vuoi creare.
  • PROJECT_NAME: il nome del tuo progetto.
  • DATASET_NAME: il nome del tuo set di dati BigQuery.
  • TABLE_NAME: il nome della tabella del tuo set di dati BigQuery.
  • ENTITY_ID_COLUMNS: i nomi delle colonne contenenti gli ID entità. Puoi specificare una o più colonne.
    • Per specificare una sola colonna di ID entità, specifica il nome della colonna nel seguente formato:
      "entity_id_column_name".
    • Per specificare più colonne di ID entità, specifica i nomi delle colonne nel seguente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: espressione di pianificazione cron che rappresenta la frequenza di sincronizzazione dei dati con la visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.
  • SERVICE_AGENT_TYPE: configurazione dell'account di servizio per la visualizzazione caratteristiche. I tipi di agenti di servizio supportati includono:
    • SERVICE_AGENT_TYPE_PROJECT: utilizza l'account di servizio a livello di progetto per la visualizzazione caratteristiche. Questa è la configurazione predefinita.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: configura e utilizza un account di servizio dedicato per la visualizzazione caratteristiche.
  • EMBEDDING_COLUMN: il nome della colonna contenente i dati di origine per creare l'indice per la ricerca vettoriale. Questa operazione è necessaria solo se vuoi gestire gli incorporamenti con la visualizzazione caratteristiche.
  • FILTER_COLUMN_1 e FILTER_COLUMN_2: (facoltativo) i nomi delle colonne utilizzate per filtrare i risultati di ricerca vettoriali.
  • CROWDING_COLUMN: facoltativo: il nome della colonna contenente gli attributi di crowding.
  • EMBEDDING_DIMENSION: (facoltativo) la dimensione, espressa in numero di dimensioni, di un incorporamento nella colonna di incorporamento.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Passaggi successivi