Ce modèle crée un pipeline de traitement en flux continu pour diffuser des enregistrements de modification de données Bigtable et les écrire dans Vertex AI Vector Search à l'aide de l'exécuteur Dataflow portable.
Conditions requises pour ce pipeline
- L'instance source Bigtable doit exister.
- La table source Bigtable doit exister et les flux de modifications doivent être activés dans la table.
- Le profil d'application Bigtable doit exister.
- Le chemin d'accès de l'index Vector Search doit exister.
Paramètres de modèle
Paramètres obligatoires
- embeddingColumn : nom complet de la colonne dans laquelle les embeddings sont stockés. Au format cf:col.
- embeddingByteSize : taille en octets de chaque entrée du tableau des embeddings. Utilisez 4 pour Float et 8 pour Double. Valeur par défaut : 4.
- vectorSearchIndex : index Vector Search où les modifications seront diffusées, au format "projects/{projectID}/locations/{region}/indexes/{indexID}" (sans espaces de début ni de fin). Par exemple,
projects/123/locations/us-east1/indexes/456. - bigtableChangeStreamAppProfile : ID du profil d'application Bigtable. Le profil d'application doit utiliser un routage à cluster unique et autoriser les transactions à ligne unique.
- bigtableReadInstanceId : ID de l'instance Bigtable source.
- bigtableReadTableId : ID de la table Bigtable source.
Exécuter le modèle
Console
- Accédez à la page Dataflow Créer un job à partir d'un modèle. Accéder à la page Créer un job à partir d'un modèle
- Dans le champ Nom du job, saisissez un nom de job unique.
- Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est
us-central1.Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job Dataflow, consultez la page Emplacements Dataflow.
- Dans le menu déroulant Modèle Dataflow, sélectionnez le modèle Bigtable Change Streams to Vector Search.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- Cliquez sur Run Job (Exécuter la tâche).
gcloud CLI
Dans le shell ou le terminal, exécutez le modèle :
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Bigtable_Change_Streams_to_Vector_Search \ --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,\
Remplacez les éléments suivants :
JOB_NAME: nom de job unique de votre choixVERSION: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latestpour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
REGION_NAME: région dans laquelle vous souhaitez déployer votre job Dataflow (par exemple,us-central1)EMBEDDING_COLUMN: colonne "Embedding".EMBEDDING_BYTE_SIZE: taille en octets du tableau des embeddings. Il peut s'agir de 4 ou 8.VECTOR_SEARCH_INDEX: chemin d'accès de l'index Vector Search.BIGTABLE_CHANGE_STREAM_APP_PROFILE: ID de profil d'application Bigtable.BIGTABLE_READ_INSTANCE_ID: ID de l'instance Bigtable source.BIGTABLE_READ_TABLE_ID: ID de la table Bigtable source.
API
Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API, ses autorisations et leurs champs d'application, consultez la section 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/Bigtable_Change_Streams_to_Vector_Search", "environment": { "maxWorkers": "10" } } }
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez exécuter le job Dataflow Google CloudJOB_NAME: nom de job unique de votre choixVERSION: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latestpour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
LOCATION: région dans laquelle vous souhaitez déployer votre job Dataflow (par exemple,us-central1)EMBEDDING_COLUMN: colonne "Embedding".EMBEDDING_BYTE_SIZE: taille en octets du tableau des embeddings. Il peut s'agir de 4 ou 8.VECTOR_SEARCH_INDEX: chemin d'accès de l'index Vector Search.BIGTABLE_CHANGE_STREAM_APP_PROFILE: ID de profil d'application Bigtable.BIGTABLE_READ_INSTANCE_ID: ID de l'instance Bigtable source.BIGTABLE_READ_TABLE_ID: ID de la table Bigtable source.