Modello da Bigtable a Vertex AI Vector Search

Il modello da Bigtable ai file di Vertex AI Vector Search su Cloud Storage crea una pipeline batch che legge i dati da una tabella Bigtable e li scrive in un bucket Cloud Storage in formato JSON. Utilizza questo modello per gli incorporamenti vettoriali.

Requisiti della pipeline

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

Parametri del modello

Parametro Descrizione
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 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.
outputDirectory (Facoltativo) Percorso Cloud Storage in cui sono archiviati i file JSON di output. Ad esempio: gs://your-bucket/your-path/.
crowdingTagColumn Facoltativo: il nome completo della colonna in cui è archiviato il tag di crowding. Nel formato cf:col o _key.
embeddingByteSize (Facoltativo) La dimensione in byte di ogni voce nell'array di incorporamenti. Per il numero in virgola mobile, utilizza il valore 4. Per il doppio, utilizza il valore 8. Il valore predefinito è 4.
allowRestrictsMappings (Facoltativo) I nomi completi e separati da virgole per le colonne da utilizzare ai sensi della limitazione allow, con i relativi alias. Nel formato cf:col->alias.
denyRestrictsMappings (Facoltativo) I nomi completi e separati da virgole per le colonne da utilizzare ai sensi della limitazione deny, con i relativi alias. Nel formato cf:col->alias.
intNumericRestrictsMappings (Facoltativo) 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 (Facoltativo) I nomi di colonna completi e separati da virgole delle colonne da utilizzare come valori in virgola mobile (4 byte) numeric_restricts, con i relativi alias. Nel formato cf:col->alias.
doubleNumericRestrictsMappings (Facoltativo) I nomi di colonna completi e separati da virgole delle colonne da utilizzare come doppi (8 byte) numeric_restricts, con i relativi alias. Nel formato cf:col->alias.

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. La regione predefinita è us-central1.

    Per un elenco delle regioni in cui puoi eseguire un job Dataflow, vedi Località Dataflow.

  5. Nel menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Vector Embeddings template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  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 a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: l'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 incorporamenti

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni sull'API e sui 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 del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: l'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 incorporamenti

Passaggi successivi