Bigtable to Vertex AI Vector Search 템플릿

Cloud Storage의 Bigtable to Vertex AI Vector Search 파일 템플릿은 Bigtable 테이블에서 데이터를 읽고 JSON 형식으로 Cloud Storage 버킷에 쓰는 일괄 파이프라인을 만듭니다. 벡터 임베딩에 이 템플릿을 사용합니다.

파이프라인 요구사항

  • Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 출력 Cloud Storage 버킷이 있어야 합니다.

템플릿 매개변수

필수 매개변수

  • bigtableProjectId : 데이터를 읽으려는 Bigtable 인스턴스가 포함된 Google Cloud 프로젝트의 ID입니다.
  • bigtableInstanceId: 테이블을 포함하는 Bigtable 인스턴스의 ID입니다.
  • bigtableTableId : 읽어올 Bigtable 테이블의 ID입니다.
  • filenamePrefix: JSON 파일 이름의 프리픽스입니다. 예를 들면 'table1-'입니다. 값을 지정하지 않으면 기본값은 'part'입니다.
  • idColumn: ID가 저장되는 정규화된 열 이름입니다. cf:col 또는 _key 형식입니다.
  • embeddingColumn: 임베딩이 저장되는 정규화된 열 이름입니다. cf:col 또는 _key 형식입니다.

선택적 매개변수

  • outputDirectory : 출력 JSON 파일이 저장되는 Cloud Storage 경로입니다. (예: gs://your-bucket/your-path/).
  • crowdingTagColumn: 크라우딩 태그가 저장되는 정규화된 열 이름입니다. cf:col 또는 _key 형식입니다.
  • embeddingByteSize: 임베딩 배열에 있는 각 항목의 바이트 크기입니다. 부동 소수점 수의 경우 값으로 4를 사용합니다. 실수의 경우 값으로 8을 사용합니다. 기본값은 4입니다.
  • allowRestrictsMappings: allow restricts로 사용할 열의 쉼표로 구분된 정규화된 열 이름입니다(별칭 포함). cf:col->alias 형식입니다.
  • denyRestrictsMappings: deny restricts로 사용할 열의 쉼표로 구분된 정규화된 열 이름입니다(별칭 포함). cf:col->alias 형식입니다.
  • intNumericRestrictsMappings : integernumeric_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 템플릿에서 작업 만들기 페이지로 이동합니다.
  2. 템플릿에서 작업 만들기로 이동
  3. 작업 이름 필드에 고유한 작업 이름을 입력합니다.
  4. (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은 us-central1입니다.

    Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.

  5. Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Bigtable to Vector Embeddings template을 선택합니다.
  6. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  7. 작업 실행을 클릭합니다.

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 작업을 실행하려는 Google Cloud 프로젝트 ID
  • 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: 임베딩 열입니다.

다음 단계