Questo modello crea una pipeline di streaming per trasmettere i record delle modifiche dei dati di Bigtable e scriverli in Vertex AI Vector Search utilizzando l'esecutore portatile Dataflow.
Requisiti della pipeline
- L'istanza di origine Bigtable deve esistere.
- La tabella di origine Bigtable deve esistere e deve avere gli modifiche in tempo reale abilitati.
- Il profilo dell'applicazione Bigtable deve esistere.
- Il percorso dell'indice Vector Search deve esistere.
Parametri del modello
Parametri obbligatori
- embeddingColumn: il nome completo della colonna in cui sono memorizzati gli incorporamenti. Nel formato cf:col.
- embeddingByteSize: le dimensioni in byte di ogni voce dell'array di incorporamenti. Utilizza 4 per Float e 8 per Double. Il valore predefinito è 4.
- vectorSearchIndex: l'indice Vector Search in cui verranno trasmessi in streaming le modifiche, nel formato "projects/{projectID}/locations/{region}/indexes/{indexID}" (senza spazi iniziali o finali). Ad esempio,
projects/123/locations/us-east1/indexes/456. - bigtableChangeStreamAppProfile: l'ID profilo dell'applicazione Bigtable. Il profilo dell'applicazione deve utilizzare il routing a un cluster singolo e consentire transazioni a una sola riga.
- bigtableReadInstanceId: l'ID istanza Bigtable di origine.
- bigtableReadTableId: l'ID della tabella Bigtable di origine.
Esegui il modello
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (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, consulta Località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona il modello Bigtable Change Streams to Vector Search.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud CLI
Nella shell o nel terminale, esegui il modello:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/ \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ embeddingColumn=EMBEDDING_COLUMN,\ embeddingByteSize=EMBEDDING_BYTE_SIZE,\ vectorSearchIndex=VECTOR_SEARCH_INDEX,\ bigtableChangeStreamAppProfile=BIGTABLE_CHANGE_STREAM_APP_PROFILE,\ bigtableReadInstanceId=BIGTABLE_READ_INSTANCE_ID,\ bigtableReadTableId=BIGTABLE_READ_TABLE_ID,\
Sostituisci quanto segue:
JOB_NAME: un nome univoco del job a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare l'ultima versione del modello, disponibile nella cartella principale senza data nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1EMBEDDING_COLUMN: la colonna EmbeddingEMBEDDING_BYTE_SIZE: la dimensione in byte dell'array di incorporamenti. Può essere 4 o 8.VECTOR_SEARCH_INDEX: il percorso dell'indice Vector SearchBIGTABLE_CHANGE_STREAM_APP_PROFILE: l'ID del profilo applicazione BigtableBIGTABLE_READ_INSTANCE_ID: l'ID istanza Bigtable di origineBIGTABLE_READ_TABLE_ID: l'ID della tabella Bigtable di origine
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per saperne di più sull'API e sui relativi ambiti di autorizzazione, consulta projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "embeddingColumn": "EMBEDDING_COLUMN", "embeddingByteSize": "EMBEDDING_BYTE_SIZE", "vectorSearchIndex": "VECTOR_SEARCH_INDEX", "bigtableChangeStreamAppProfile": "BIGTABLE_CHANGE_STREAM_APP_PROFILE", "bigtableReadInstanceId": "BIGTABLE_READ_INSTANCE_ID", "bigtableReadTableId": "BIGTABLE_READ_TABLE_ID", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/", "environment": { "maxWorkers": "10" } } }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME: un nome univoco del job a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare l'ultima versione del modello, disponibile nella cartella principale senza data nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1EMBEDDING_COLUMN: la colonna EmbeddingEMBEDDING_BYTE_SIZE: la dimensione in byte dell'array di incorporamenti. Può essere 4 o 8.VECTOR_SEARCH_INDEX: il percorso dell'indice Vector SearchBIGTABLE_CHANGE_STREAM_APP_PROFILE: l'ID del profilo applicazione BigtableBIGTABLE_READ_INSTANCE_ID: l'ID istanza Bigtable di origineBIGTABLE_READ_TABLE_ID: l'ID della tabella Bigtable di origine