news 2026/7/10 13:04:03

45_Spring AI 干货笔记之 Google VertexAI 多模态嵌入模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
45_Spring AI 干货笔记之 Google VertexAI 多模态嵌入模型

一、Google VertexAI 多模态嵌入模型

实验性功能。仅用于实验目的。目前尚不兼容 VectorStores。

Vertex AI 支持两种类型的嵌入模型:文本嵌入和多模态嵌入。本文档介绍如何使用 Vertex AI 多模态嵌入 API 创建多模态嵌入。

多模态嵌入模型根据您提供的输入生成 1408 维向量,输入可以包括图像、文本和视频数据的组合。生成的嵌入向量随后可用于后续任务,如图像分类或视频内容审核。

图像嵌入向量和文本嵌入向量位于同一语义空间,且维度相同。因此,这些向量可以互换使用,适用于诸如按文本搜索图像或按图像搜索视频等用例。

VertexAI 多模态 API 施加了 以下限制。

对于纯文本嵌入的用例,我们建议改用 Vertex AI 文本嵌入模型。

二、先决条件

  • 安装适用于您操作系统的 gcloud CLI。

  • 通过运行以下命令进行身份验证。请将 <PROJECT_ID> 替换为您的 Google Cloud 项目 ID,将 替换为您的 Google Cloud 用户名。

gcloud configsetproject<PROJECT_ID>&&gcloud auth application-default login<ACCOUNT>

添加仓库和 BOM

Spring AI 的构件发布在 Maven Central 和 Spring Snapshot 仓库中。请参阅 构件仓库 部分,将这些仓库添加到您的构建系统中。

为便于依赖管理,Spring AI 提供了 BOM(物料清单),以确保在整个项目中使用统一版本的 Spring AI。请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建系统中。

三、自动配置

Spring AI 的自动配置和启动器模块的构件名称发生了重大变化。更多信息请参阅升级说明。

Spring AI 为 VertexAI 嵌入模型提供了 Spring Boot 自动配置。要启用它,请在项目的 Maven pom.xml 文件中添加以下依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-vertex-ai-embedding</artifactId></dependency>

或在您的 Gradle build.gradle 构建文件中添加:

dependencies{implementation'org.springframework.ai:spring-ai-starter-model-vertex-ai-embedding'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

嵌入属性

前缀 spring.ai.vertex.ai.embedding 用作属性前缀,用于连接到 VertexAI 嵌入 API。

现在通过前缀为 spring.ai.model.embedding 的顶级属性来配置嵌入自动配置的启用和禁用。

  • 启用:spring.ai.model.embedding.multimodal=vertexai(默认已启用)

  • 禁用:spring.ai.model.embedding.multimodal=none(或任何与 vertexai 不匹配的值)

此项更改是为了支持配置多个模型。

前缀 spring.ai.vertex.ai.embedding.multimodal 是用于配置 VertexAI 多模态嵌入的嵌入模型实现的属性前缀。

四、手动配置

VertexAiMultimodalEmbeddingModel 实现了 DocumentEmbeddingModel 接口。

在项目的 Maven pom.xml 文件中添加 spring-ai-vertex-ai-embedding 依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-vertex-ai-embedding</artifactId></dependency>

或在您的 Gradle build.gradle 构建文件中添加:

dependencies{implementation'org.springframework.ai:spring-ai-vertex-ai-embedding'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

接下来,创建一个 VertexAiMultimodalEmbeddingModel 并使用它生成嵌入:

VertexAiEmbeddingConnectionDetailsconnectionDetails=VertexAiEmbeddingConnectionDetails.builder().projectId(System.getenv(<VERTEX_AI_GEMINI_PROJECT_ID>)).location(System.getenv(<VERTEX_AI_GEMINI_LOCATION>)).build();VertexAiMultimodalEmbeddingOptionsoptions=VertexAiMultimodalEmbeddingOptions.builder().model(VertexAiMultimodalEmbeddingOptions.DEFAULT_MODEL_NAME).build();varembeddingModel=newVertexAiMultimodalEmbeddingModel(this.connectionDetails,this.options);MediaimageMedial=newMedia(MimeTypeUtils.IMAGE_PNG,newClassPathResource("/test.image.png"));MediavideoMedial=newMedia(newMimeType("video","mp4"),newClassPathResource("/test.video.mp4"));vardocument=newDocument("Explain what do you see on this video?",List.of(this.imageMedial,this.videoMedial),Map.of());EmbeddingResponseembeddingResponse=this.embeddingModel.embedForResponse(List.of("Hello World","World is big and salvation is near"));DocumentEmbeddingRequestembeddingRequest=newDocumentEmbeddingRequest(List.of(this.document),EmbeddingOptions.EMPTY);EmbeddingResponseembeddingResponse=multiModelEmbeddingModel.call(this.embeddingRequest);assertThat(embeddingResponse.getResults()).hasSize(3);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 23:38:25

AIGC 商用实战派:集之互动用 “高可控” 接住品牌真需求

在AIGC&#xff08;人工智能生成内容&#xff09;技术狂飙突进的今天&#xff0c;视频生成领域正经历着前所未有的热度。从Sora的惊艳亮相到Runway的持续迭代&#xff0c;AI看起来“无所不能”。然而&#xff0c;当我们将目光从“技术演示”转向“商业交付”时&#xff0c;一个…

作者头像 李华
网站建设 2026/7/8 21:35:21

Go语言结构体

一、什么是结构体&#xff08;Struct&#xff09;结构体是 Go 里用来组织一组不同类型字段的复合数据类型&#xff0c;有点像 Java 里的 class&#xff0c;但&#xff1a;没有继承没有构造函数首字母大写 对外可见&#xff0c;首字母小写 包内可见示例&#xff1a;type User …

作者头像 李华
网站建设 2026/7/10 13:41:54

AI产业格局生变,家居服企业的“智”胜关键在哪?

AI产业格局生变&#xff0c;家居服企业的“智”胜关键在哪&#xff1f;观察AI行业的演进格局&#xff0c;一个清晰的主线正浮出水面&#xff1a;技术本身的门槛正在降低&#xff0c;而“技术行业知识落地场景”的深度融合能力&#xff0c;成为价值创造的分水岭。对于身处红海市…

作者头像 李华
网站建设 2026/7/10 8:41:55

COLMAP动态干扰消除:从问题诊断到智能解决方案

COLMAP动态干扰消除&#xff1a;从问题诊断到智能解决方案 【免费下载链接】colmap COLMAP - Structure-from-Motion and Multi-View Stereo 项目地址: https://gitcode.com/GitHub_Trending/co/colmap 在处理街景、室内场景或公共场所的3D重建时&#xff0c;COLMAP动态…

作者头像 李华
网站建设 2026/7/8 16:25:13

SGMICRO圣邦微 SGM2006-2.8XN5/TR SOT23-5 线性稳压器(LDO)

特性 低输出噪声:30uVrms类型(10Hz至100kHz)超低压差电压: 输出150mA时为150mV低负载时供电电流为77μA 在150mA输出时&#xff0c;低功耗工作电流为150μA 高电源抑制比:在1kHz时为73dB-热过载保护 输出电流限制 预设输出电压(精度 士2.7%) -10纳安逻辑控制关断提供多种输出电…

作者头像 李华