Template Bigtable ke Vertex AI Vector Search

Template Bigtable ke file Vector Search Vertex AI di Cloud Storage membuat pipeline batch yang membaca data dari tabel Bigtable dan menulisnya ke bucket Cloud Storage dalam format JSON. Gunakan template ini untuk embedding vektor.

Persyaratan pipeline

  • Tabel Bigtable harus ada.
  • Bucket Cloud Storage output harus ada sebelum Anda menjalankan pipeline.

Parameter template

Parameter Deskripsi
bigtableProjectId ID untuk project Google Cloud yang berisi instance Bigtable yang ingin Anda baca datanya.
bigtableInstanceId ID instance Bigtable yang berisi tabel.
bigtableTableId ID tabel Bigtable yang akan dibaca.
filenamePrefix Awalan nama file JSON. Misalnya: table1-. Jika tidak ada nilai yang diberikan, setelan defaultnya adalah part.
idColumn Nama kolom yang sepenuhnya memenuhi syarat tempat ID disimpan. Dalam format cf:col atau _key.
embeddingColumn Nama kolom yang sepenuhnya memenuhi syarat tempat embeddings disimpan. Dalam format cf:col atau _key.
outputDirectory Opsional: Jalur Cloud Storage tempat file JSON output disimpan. Contoh: gs://your-bucket/your-path/.
crowdingTagColumn Opsional: Nama kolom yang sepenuhnya memenuhi syarat tempat tag kerumunan disimpan. Dalam format cf:col atau _key.
embeddingByteSize Opsional: Ukuran byte setiap entri dalam array embedding. Untuk float, gunakan nilai 4. Untuk double, gunakan nilai 8. Nilai defaultnya adalah 4.
allowRestrictsMappings Opsional: Nama kolom yang dipisahkan koma dan sepenuhnya memenuhi syarat untuk kolom yang akan digunakan sesuai dengan batasan allow, dengan aliasnya. Dalam format cf:col->alias.
denyRestrictsMappings Opsional: Nama kolom yang dipisahkan koma dan sepenuhnya memenuhi syarat untuk kolom yang akan digunakan sesuai dengan batasan deny, dengan aliasnya. Dalam format cf:col->alias.
intNumericRestrictsMappings Opsional: Nama kolom kolom yang dipisahkan koma dan sepenuhnya memenuhi syarat untuk digunakan sebagai bilangan bulat numeric_restricts, dengan aliasnya. Dalam format cf:col->alias.
floatNumericRestrictsMappings Opsional: Nama kolom kolom yang dipisahkan koma dan sepenuhnya memenuhi syarat untuk digunakan sebagai numeric_restricts float (4 byte), dengan aliasnya. Dalam format cf:col->alias.
doubleNumericRestrictsMappings Opsional: Nama kolom kolom yang dipisahkan koma dan sepenuhnya memenuhi syarat untuk digunakan sebagai numeric_restricts ganda (8 byte), dengan aliasnya. Dalam format cf:col->alias.

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Job name, masukkan nama pekerjaan yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region default-nya adalah us-central1.

    Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the Cloud Bigtable to Vector Embeddings template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. Klik Run job.

gcloud CLI

Di shell atau terminal Anda, jalankan template:

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

Ganti kode berikut:

  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • BIGTABLE_PROJECT_ID: the project ID
  • BIGTABLE_INSTANCE_ID: ID instance
  • BIGTABLE_TABLE_ID: ID tabel
  • FILENAME_PREFIX: awalan file JSON
  • ID_COLUMN: kolom ID
  • EMBEDDING_COLUMN: kolom embedding

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat 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" }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • BIGTABLE_PROJECT_ID: the project ID
  • BIGTABLE_INSTANCE_ID: ID instance
  • BIGTABLE_TABLE_ID: ID tabel
  • FILENAME_PREFIX: awalan file JSON
  • ID_COLUMN: kolom ID
  • EMBEDDING_COLUMN: kolom embedding

Langkah selanjutnya