生成多模态嵌入

本页面介绍了如何使用受支持的 Vertex AI 多模态模型 multimodalembedding@001 生成多模态嵌入。

您可以使用支持的模型中提及的 Vertex AI 多模态嵌入模型。

本页面假定您熟悉 AlloyDB for PostgreSQL 和生成式 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 服务代理授予 Storage Object Viewer 角色 (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 模型端点(图片 MIME 类型为默认的 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 字符串。

后续步骤