Modello di ricerca vettoriale da Bigtable a Vertex AI

Il modello per i file Bigtable in Vertex AI Vector Search su Cloud Storage crea una pipeline batch che legge i dati da un Bigtable e la scrive in un bucket Cloud Storage in formato JSON. Usa questo modello per il vettore incorporamenti.

Requisiti della pipeline

  • La tabella Bigtable deve esistere.
  • Il bucket Cloud Storage di output deve esistere prima di eseguire la pipeline.

Parametri del modello

Parametri obbligatori

  • bigtableProjectId : l'ID del progetto Google Cloud che contiene l'istanza Bigtable da cui vuoi leggere i dati.
  • bigtableInstanceId : l'ID dell'istanza Bigtable che contiene la tabella.
  • bigtableTableId : l'ID della tabella Bigtable da cui leggere.
  • filenamePrefix : il prefisso del nome file JSON. Ad esempio: "table1-". Se non viene fornito alcun valore, il valore predefinito è "part".
  • idColumn : il nome completo della colonna in cui è archiviato l'ID. Nel formato cf:col o _key.
  • embeddingColumn : il nome completo della colonna in cui sono archiviati gli incorporamenti. Nel formato cf:col o _key.

Parametri facoltativi

  • outputDirectory : il percorso di Cloud Storage in cui sono archiviati i file JSON di output. ad esempio gs://your-bucket/your-path/.
  • crowdingTagColumn : il nome completo della colonna in cui è archiviato il tag di crowding. Nel formato cf:col o _key.
  • embeddingByteSize : la dimensione in byte di ogni voce nell'array degli incorporamenti. Per i numeri in virgola mobile, utilizza il valore 4. Per il doppio, utilizza il valore 8. Il valore predefinito è 4.
  • allowRestrictsMappings : i nomi delle colonne completi e separati da virgole per le colonne da utilizzare come limitazioni di autorizzazione, con i relativi alias. Nel formato cf:col->alias.
  • denyRestrictsMappings : i nomi di colonna completi, separati da virgole, per le colonne da utilizzare come limitazioni di negazione, con i relativi alias. Nel formato cf:col->alias.
  • intNumericRestrictsMappings : i nomi di colonna completi e separati da virgole delle colonne da utilizzare come numero intero numeric_restricts, con i relativi alias. Nel formato cf:col->alias.
  • floatNumericRestrictsMappings : i nomi delle colonne completi e separati da virgole delle colonne da utilizzare come numeri in virgola mobile (4 byte) con i relativi alias. Nel formato cf:col->alias.
  • doubleNumericRestrictsMappings : i nomi di colonna completi e separati da virgole delle colonne da utilizzare come doppie (8 byte) numeric_restricts, con i relativi alias. Nel formato cf:col->alias.
  • bigtableAppProfileId : l'ID del profilo dell'app Cloud Bigtable da utilizzare per l'esportazione. Il valore predefinito è: predefinito.

Esegui il modello

Console

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. Il valore predefinito è us-central1.

    Per un elenco di regioni in cui è possibile eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Vector Embeddings template.
  6. Inserisci i valori parametro negli appositi campi.
  7. Fai clic su Esegui job.

Interfaccia a riga di comando gcloud

Nella shell o nel terminale, esegui il modello:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_Vector_Embeddings \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       bigtableProjectId=BIGTABLE_PROJECT_ID,\
       bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
       bigtableTableId=BIGTABLE_TABLE_ID,\
       filenamePrefix=FILENAME_PREFIX,\
       idColumn=ID_COLUMN,\
       embeddingColumn=EMBEDDING_COLUMN,\

Sostituisci quanto segue:

  • JOB_NAME: un nome job univoco di tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: ID progetto
  • BIGTABLE_INSTANCE_ID: l'ID istanza
  • BIGTABLE_TABLE_ID: l'ID tabella
  • FILENAME_PREFIX: il prefisso del file JSON
  • ID_COLUMN: la colonna ID
  • EMBEDDING_COLUMN: la colonna degli incorporamenti

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sul API e i relativi ambiti di autorizzazione, consulta projects.templates.launch

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_Bigtable_to_Vector_Embeddings
{
   "jobName": "JOB_NAME",
   "parameters": {
     "bigtableProjectId": "BIGTABLE_PROJECT_ID",
     "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
     "bigtableTableId": "BIGTABLE_TABLE_ID",
     "filenamePrefix": "FILENAME_PREFIX",
     "idColumn": "ID_COLUMN",
     "embeddingColumn": "EMBEDDING_COLUMN",
   },
   "environment": { "maxWorkers": "10" }
}

Sostituisci quanto segue:

  • PROJECT_ID: L'ID progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco di tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: ID progetto
  • BIGTABLE_INSTANCE_ID: l'ID istanza
  • BIGTABLE_TABLE_ID: l'ID tabella
  • FILENAME_PREFIX: il prefisso del file JSON
  • ID_COLUMN: la colonna ID
  • EMBEDDING_COLUMN: la colonna degli incorporamenti

Passaggi successivi