這個範本會建立串流管道,使用 Dataflow Portable Runner 串流 Bigtable 資料變更記錄,並將這些記錄寫入 Vertex AI Vector Search。
管道相關規定
- Bigtable 來源執行個體必須存在。
- Bigtable 來源資料表必須存在,且必須啟用變更串流。
- Bigtable 應用程式設定檔必須存在。
- Vector Search 索引路徑必須存在。
範本參數
必要參數
- embeddingColumn:儲存嵌入內容的完整資料欄名稱。格式為 cf:col。
- embeddingByteSize:嵌入陣列中每個項目的位元組大小。浮點數請使用 4,雙精度浮點數請使用 8。預設為:4。
- vectorSearchIndex:要串流變更的向量搜尋索引,格式為「projects/{projectID}/locations/{region}/indexes/{indexID}」(開頭或結尾不得有空格)。例如:
projects/123/locations/us-east1/indexes/456。 - bigtableChangeStreamAppProfile:Bigtable 應用程式設定檔 ID。應用程式設定檔必須使用單叢集轉送,並允許單列交易。
- bigtableReadInstanceId:來源 Bigtable 執行個體 ID。
- bigtableReadTableId:來源 Bigtable 資料表 ID。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(依據範本建立工作) 頁面。 前往「依範本建立工作」
- 在「Job name」(工作名稱) 欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1。如需可執行 Dataflow 工作的區域清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取「Bigtable Change Streams to Vector Search」(Bigtable 變更串流至向量搜尋) 範本。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud CLI
在殼層或終端機中執行範本:
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,\
更改下列內容:
JOB_NAME:您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates-REGION_NAME/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates-REGION_NAME/
REGION_NAME:您要部署 Dataflow 工作的區域,例如us-central1EMBEDDING_COLUMN:Embedding 資料欄EMBEDDING_BYTE_SIZE:嵌入陣列的位元組大小。可以是 4 或 8。VECTOR_SEARCH_INDEX:Vector Search 索引路徑BIGTABLE_CHANGE_STREAM_APP_PROFILE:Bigtable 應用程式設定檔 IDBIGTABLE_READ_INSTANCE_ID:來源 Bigtable 執行個體 IDBIGTABLE_READ_TABLE_ID:來源 Bigtable 資料表 ID
API
如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 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" } } }
更改下列內容:
PROJECT_ID:您要執行 Dataflow 工作的 Google Cloud 專案 IDJOB_NAME:您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates-REGION_NAME/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates-REGION_NAME/
LOCATION:您要部署 Dataflow 工作的區域,例如us-central1EMBEDDING_COLUMN:Embedding 資料欄EMBEDDING_BYTE_SIZE:嵌入陣列的位元組大小。可以是 4 或 8。VECTOR_SEARCH_INDEX:Vector Search 索引路徑BIGTABLE_CHANGE_STREAM_APP_PROFILE:Bigtable 應用程式設定檔 IDBIGTABLE_READ_INSTANCE_ID:來源 Bigtable 執行個體 IDBIGTABLE_READ_TABLE_ID:來源 Bigtable 資料表 ID