멀티모달 임베딩 생성

문서 버전을 선택합니다.

지원되는 Vertex AI 멀티모달 모델인 multimodalembedding@001을 사용하여 AlloyDB Omni에서 멀티모달 임베딩을 생성할 수 있습니다.

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

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

시작하기 전에

멀티모달 임베딩을 사용하기 전에 다음을 수행합니다.

  1. Vertex AI 모델에 대한 사용자 액세스 권한을 구성합니다.
  2. 최신 버전의 google_ml_integration이 설치되어 있는지 확인합니다.
    1. 설치된 버전을 확인하려면 다음 명령어를 실행합니다.

      SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
      extversion
      ------------
      1.5.2
      (1 row)
    2. 확장 프로그램이 설치되지 않았거나 설치된 버전이 1.5.2 이전이면 확장 프로그램을 업데이트합니다.

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

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

  3. AlloyDB AI 쿼리 엔진 기능을 사용하려면 google_ml_integration.enable_ai_query_engine 플래그를 on로 설정합니다.

    1. 텍스트 편집기를 사용하여 AlloyDB Omni 설치의 postgresql.conf 구성 파일에서 다음 플래그를 설정합니다.
      google_ml_integration.enable_ai_query_engine = on
    2. postgresql.conf 파일을 저장한 후 변경사항을 적용하려면 AlloyDB Omni 서비스를 다시 시작합니다.
      sudo systemctl restart alloydbomni18
  4. Cloud Storage의 데이터에 액세스하여 멀티모달 임베딩을 생성합니다.

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

  • 멀티모달 임베딩을 생성하려면 gs:// URI를 사용하여 Cloud Storage의 콘텐츠를 참조하세요.
  • 현재 프로젝트의 Vertex AI 서비스 에이전트를 통해 Cloud Storage 콘텐츠에 액세스합니다. 기본적으로 Vertex AI 서비스 에이전트에는 동일한 프로젝트의 버킷에 액세스할 수 있는 권한이 이미 있습니다. 자세한 내용은 IAM 역할 및 권한 색인을 참조하세요.
  • 다른 Google Cloud 프로젝트의 Cloud Storage 버킷에 있는 데이터에 액세스하려면 다음 gcloud CLI 명령어를 실행하여Google Cloud 프로젝트의 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를 임베딩을 생성할 텍스트로 바꿉니다.

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

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 문자열로 바꿉니다. my_array[0][5]와 같은 구문으로 액세스할 수 있는 2차원 배열입니다. 자세한 내용은 배열을 참조하세요.

다음 단계