生成多模态嵌入

选择文档版本:

:此实验性发布版本为非正式版产品。

您可以使用支持的 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 服务代理授予 Storage Object Viewer 角色 (roles/storage.objectViewer)

    gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \
    --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform." \
    --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 字符串。这些是二维数组,可以采用 my_array[0][5] 这样的语法进行访问。如需了解详情,请参阅数组

后续步骤