멀티모달 임베딩 생성

이 페이지에서는 지원되는 Vertex AI 멀티모달 모델인 multimodalembedding@001를 사용하여 멀티모달 임베딩을 생성하는 방법을 설명합니다.

지원되는 모델에 언급된 Vertex AI 멀티모달 임베딩 모델을 사용할 수 있습니다.

이 페이지에서는 사용자가 PostgreSQL용 AlloyDB 및 생성형 AI 개념에 익숙하다고 가정합니다. 임베딩에 대한 자세한 내용은 임베딩이란 무엇인가요?를 참고하세요.

시작하기 전에

멀티모달 임베딩을 사용하기 전에 다음을 실행하세요.

Vertex AI와 통합 및 확장 프로그램 설치

  1. Vertex AI와 통합합니다.
  2. 최신 버전의 google_ml_integration이 설치되어 있는지 확인합니다.
    1. 설치된 버전을 확인하려면 다음 명령어를 실행합니다.

              SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
              extversion
              ------------
              1.4.3
              (1 row)
            
    2. 확장 프로그램이 설치되지 않았거나 설치된 버전이 1.4.3 이전인 경우 다음 명령어를 실행하여 확장 프로그램을 업데이트합니다.

              CREATE EXTENSION IF NOT EXISTS google_ml_integration;
              ALTER EXTENSION google_ml_integration UPDATE;
            

      위 명령어를 실행할 때 문제가 발생하거나 위 명령어를 실행한 후에도 확장 프로그램이 1.4.3 버전으로 업데이트되지 않으면 AlloyDB 지원팀에 문의하세요.

    3. 버전이 최신인지 확인한 후 upgrade_to_preview_version 절차를 실행하여 프리뷰 기능을 설치합니다.

              CALL google_ml.upgrade_to_preview_version();
              SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
              extversion
              ------------
              1.4.4
              (1 row)
            

Cloud Storage의 데이터에 액세스하여 멀티모달 임베딩 생성

  • 멀티모달 임베딩을 생성하려면 gs:// URI를 사용하여 Cloud Storage의 콘텐츠를 참조하세요.
  • 현재 프로젝트의 Vertex AI 서비스 에이전트를 통해 Cloud Storage 콘텐츠에 액세스합니다. 기본적으로 Vertex AI 서비스 에이전트에는 동일한 프로젝트의 버킷에 액세스할 수 있는 권한이 이미 있습니다. 자세한 내용은 IAM 역할 및 권한 색인을 참고하세요.
  • 다른 Google Cloud 프로젝트의 Cloud Storage 버킷에 있는 데이터에 액세스하려면 다음 gcloud CLI 명령어를 실행하여 AlloyDB 프로젝트의 Vertex AI 서비스 에이전트에 스토리지 객체 뷰어 역할 (roles/storage.objectViewer)을 부여합니다.

    gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \
    --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \
    --role="roles/storage.objectViewer"

    자세한 내용은 버킷에 IAM 정책 설정 및 관리를 참고하세요.

멀티모달 임베딩을 생성하려면 다음 스키마 중 하나를 선택하세요.

멀티모달 임베딩 생성

multimodalembedding@001 모델 엔드포인트에 대한 텍스트 임베딩을 생성하려면 다음 문을 실행합니다.

SELECT
  ai.text_embedding(
    model_id => 'multimodalembedding@001',
    content => 'TEXT');

TEXT을 임베딩을 생성할 텍스트로 바꿉니다.

등록된 multimodalembedding@001 모델 엔드포인트에 대해 이미지 임베딩을 생성하려면 다음 문을 실행합니다. 여기서 이미지 mimetype은 기본값 image/jpeg입니다.

SELECT
  ai.image_embedding(
    model_id => 'multimodalembedding@001',
    image => 'IMAGE_PATH_OR_TEXT',
    mimetype => MIMETYPE');

다음을 바꿉니다.

  • IMAGE_PATH_OR_TEXT를 이미지의 Cloud Storage URI(예: gs://my-bucket/embeddings/flowers.jpeg) 또는 이미지의 base64 문자열로 바꿉니다.
  • MIMETYPE: 이미지의 MIME 유형(예: image/jpeg) 지원되는 전체 MIME 유형 목록은 멀티모달 임베딩 API를 참고하세요.

등록된 multimodalembedding@001 모델 엔드포인트에 대해 동영상 임베딩을 생성하려면 다음 문을 실행합니다.

SELECT
  ai.video_embedding(
    model_id => 'multimodalembedding@001',
    video => 'VIDEO_URI');

VIDEO_URI를 대상 동영상의 Cloud Storage URI(예: gs://my-bucket/embeddings/supermarket-video.mp4) 또는 동영상의 base64 문자열로 바꿉니다.

다음 단계