Bigtable to Vertex AI Vector Search 範本

「Bigtable 到 Cloud Storage 的 Vertex AI Vector Search 檔案」範本會建立批次管道,從 Bigtable 資料表讀取資料,並以 JSON 格式寫入 Cloud Storage 值區。使用這個範本建立向量嵌入。

管道相關規定

  • Bigtable 資料表必須存在。
  • 執行管道前,輸出 Cloud Storage 值區必須已存在。

範本參數

必要參數

  • bigtableProjectId:包含您要讀取資料的 Bigtable 執行個體的 Google Cloud 專案 ID。
  • bigtableInstanceId:包含資料表的 Bigtable 執行個體 ID。
  • bigtableTableId:要從中讀取資料的 Bigtable 資料表 ID。
  • outputDirectory:儲存輸出 JSON 檔案的 Cloud Storage 路徑。例如:gs://your-bucket/your-path/
  • idColumn:儲存 ID 的完整資料欄名稱。格式為 cf:col_key
  • embeddingColumn:儲存嵌入內容的完整欄名。格式為 cf:col_key

選用參數

  • filenamePrefix:JSON 檔案名稱的前置字元。例如:table1-。如未提供值,則預設為 part
  • crowdingTagColumn:儲存擁擠標記的完整欄名。格式為 cf:col_key
  • embeddingByteSize:embeddings 陣列中每個項目的位元組大小。如果是浮點數,請使用 4 值。如果是 double,請使用 8 值。預設值為 4
  • allowRestrictsMappings:以半形逗號分隔的完整資料欄名稱,這些資料欄會做為允許限制,並附上別名。格式為 cf:col->alias
  • denyRestrictsMappings:以半形逗號分隔的完整資料欄名稱,用於做為拒絕限制,並附上別名。格式為 cf:col->alias
  • intNumericRestrictsMappings:以半形逗號分隔的完整合格資料欄名稱,這些資料欄會做為整數 numeric_restricts,並附上別名。格式為 cf:col->alias
  • floatNumericRestrictsMappings:以逗號分隔的完整資料欄名稱,這些資料欄會做為浮點數 (4 個位元組) numeric_restricts,並附上別名。格式為 cf:col->alias
  • doubleNumericRestrictsMappings:以逗號分隔的完整資料欄名稱,這些資料欄會做為雙精度 (8 位元組) numeric_restricts,並附上別名。格式為 cf:col->alias
  • bigtableAppProfileId:要用於匯出的 Cloud Bigtable 應用程式設定檔 ID。預設值為 default。

執行範本

控制台

  1. 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。
  2. 前往「依據範本建立工作」
  3. 在「工作名稱」欄位中,輸入專屬工作名稱。
  4. 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為 us-central1

    如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the Cloud Bigtable to Vector Embeddings template。
  6. 在提供的參數欄位中輸入參數值。
  7. 按一下「Run Job」(執行工作)

gcloud CLI

在殼層或終端機中執行範本:

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,\

更改下列內容:

  • JOB_NAME: 您選擇的不重複工作名稱
  • VERSION: 您要使用的範本版本

    您可以使用下列值:

  • REGION_NAME: 您要部署 Dataflow 工作的地區,例如 us-central1
  • BIGTABLE_PROJECT_ID:專案 ID
  • BIGTABLE_INSTANCE_ID:執行個體 ID
  • BIGTABLE_TABLE_ID:資料表 ID
  • FILENAME_PREFIX:JSON 檔案前置字元
  • ID_COLUMN:ID 欄
  • EMBEDDING_COLUMN:嵌入資料欄

API

如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 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" }
}

更改下列內容:

  • PROJECT_ID: 您要執行 Dataflow 工作的專案 ID Google Cloud
  • JOB_NAME: 您選擇的不重複工作名稱
  • VERSION: 您要使用的範本版本

    您可以使用下列值:

  • LOCATION: 您要部署 Dataflow 工作的地區,例如 us-central1
  • BIGTABLE_PROJECT_ID:專案 ID
  • BIGTABLE_INSTANCE_ID:執行個體 ID
  • BIGTABLE_TABLE_ID:資料表 ID
  • FILENAME_PREFIX:JSON 檔案前置字元
  • ID_COLUMN:ID 欄
  • EMBEDDING_COLUMN:嵌入資料欄

後續步驟