Crea un'istanza di visualizzazione caratteristiche

Puoi creare una visualizzazione caratteristiche all'interno di un'istanza esistente di un archivio online. Mentre creando una visualizzazione delle caratteristiche, puoi associarvi caratteristiche nel seguente modo modi:

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

  • Aggiungi caratteristiche da un'origine BigQuery: associa direttamente un'origine dati BigQuery, come una tabella o una vista BigQuery, e specificare almeno una colonna di ID entità.

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

Prima di iniziare

Autentica in Vertex AI, a meno che tu non l'abbia 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 una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura 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 ulteriori informazioni, vedi 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 ulteriori informazioni, vedi Esegui l'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 la funzionalità archiviati nell'archivio online da BigQuery. Quando crei un visualizzazione caratteristiche, puoi specificare la pianificazione o la frequenza di sincronizzazione dei dati utilizzando FeatureView.sync_config .

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

Tieni presente che per ogni funzione può essere attiva una sola operazione di sincronizzazione dei dati alla volta vista. Se è in corso una sincronizzazione dei dati per una visualizzazione caratteristiche, tutti i dati pianificati vengono sincronizzati per la visualizzazione delle caratteristiche in questione 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 sincronizzazione:

  • Non configurare la pianificazione della sincronizzazione in modo che venga eseguita con una frequenza maggiore rispetto alla frequenza in cui è previsto che i dati cambino nell'origine BigQuery.

  • Ottimizzare le dimensioni dell'origine dati delle caratteristiche in BigQuery. Mentre creando la visualizzazione delle caratteristiche, includi solo i dati necessari per in fase di pubblicazione.

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

  • Mentre imposti le opzioni di scalabilità per il negozio online, imposta max_node_count a un valore sufficientemente alto da coprire carichi elevati durante una sincronizzazione dei dati.

  • Pianifica la sincronizzazione per visualizzazioni caratteristiche diverse in momenti diversi all'interno della nello stesso negozio online.

  • Se la tabella BigQuery contiene molti dati storici, puoi partizionare la tabella utilizzando timestamp e specificare un intervallo di tempo recuperando i dati delle caratteristiche. Questo riduce al minimo il recupero di funzionalità obsolete durante la sincronizzazione.

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

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 Visualizzatore dati BigQuery il ruolo Identity and Access Management (IAM) per 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 in il progetto possa accedere ai dati delle caratteristiche in BigQuery.

In alternativa, puoi configurare la visualizzazione delle caratteristiche in modo da utilizzare il proprio servizio . Vertex AI Feature Store configura quindi un servizio dedicato per la visualizzazione delle caratteristiche. Con questa configurazione, puoi limitare l'accesso per includere i dati in BigQuery o per concedere l'accesso ad altri utenti. Puoi specificare la configurazione dell'account di servizio utilizzando il metodo 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 archivio online creati per la pubblicazione online ottimizzata utilizzando 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 caratteristica viene creata specificando un URI di origine BigQuery e non gruppi di caratteristiche e caratteristiche dal Registro di caratteristiche.

Per ulteriori informazioni su come cercare i vicini più prossimi approssimati utilizzando incorporamenti in Vertex AI Feature Store, vedi Effettua ricerche 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 la funzionalità gruppi e caratteristiche. Per associare più origini dati BigQuery con la stessa visualizzazione delle 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 della caratteristica.

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

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

Utilizza l'esempio seguente per creare una visualizzazione delle caratteristiche associando più gruppi di caratteristiche senza specificare la configurazione di un account di servizio.

REST

Per creare una FeatureView Risorsa, invia una richiesta POST utilizzando 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 degli utenti gruppi di caratteristiche da cui si desidera 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 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 per che specifica la configurazione di un account di servizio.

REST

Per creare una FeatureView Risorsa, invia una richiesta POST utilizzando 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 degli utenti gruppi di caratteristiche da cui si desidera 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 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 il tuo account BigQuery utilizzando gruppi di caratteristiche e caratteristiche, puoi creare una visualizzazione delle caratteristiche che specifica 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 devono 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 caratteristiche che non supporta gli incorporamenti. associando direttamente un'origine dati BigQuery e senza specificare un la 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 ulteriori informazioni, consulta 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 FeatureView Risorsa, invia una richiesta POST utilizzando 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 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 riportati di seguito per creare una visualizzazione caratteristiche con supporto dell'incorporamento associando direttamente un'origine dati BigQuery senza specificare la 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 ulteriori informazioni, consulta 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: 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: 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 la 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 FeatureView Risorsa, invia una richiesta POST utilizzando 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 visualizzazione delle caratteristiche. Per ulteriori informazioni, consulta cron.
  • EMBEDDING_COLUMN: il nome della colonna contenente i dati di origine per creare la 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

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

REST

Per creare una FeatureView risorsa con incorporamenti, invia una richiesta POST utilizzando featureViews.create e specificando il metodo 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 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 la 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