news 2026/4/23 17:30:06

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/4/23 2:44:21

系统初学者必看!手把手教STM32F4系列芯片Freertos实现DMA并发解包ADC

本期目标 理清本工程系统框架 弄懂CubeMx配置相关原理及设置的背后含义 对DMA以及ADC相关的重要API接口使用详解 梳理代码设计流程 SAR型 ADC 单片机里的ADC&#xff0c;一般都是SAR型 ADC&#xff0c;是逐次逼近型ADC 吗这种类型的ADC精度一般都不是很高 &#xff0c;但是…

作者头像 李华
网站建设 2026/4/23 15:48:30

从概念到利润:AI趋势下,家居服行业如何实现价值闭环?

从概念到利润&#xff1a;AI趋势下&#xff0c;家居服行业如何实现价值闭环&#xff1f;轰轰烈烈的AI技术发展&#xff0c;最终必须回答一个商业本质问题&#xff1a;如何为企业创造可衡量的真实价值&#xff1f;尤其在消费领域&#xff0c;价值的终点是提升用户体验与增强企业…

作者头像 李华
网站建设 2026/4/23 15:49:49

Windows电脑安装软件到安装路径下后删除软件安装包影响软件使用吗?

软件安装完成后&#xff0c;删除原始安装包一般不会影响软件使用&#xff1b;真正决定软件是否能运行的是安装目录和系统环境&#xff0c;而不是安装包本身。软件运行只依赖安装目录和系统环境&#xff0c;不再依赖安装包本身。但是&#xff0c;解压即用的绿色版 / 免安装软件不…

作者头像 李华
网站建设 2026/4/23 14:00:46

20、PC-BSD系统:获取帮助与积极参与指南

PC-BSD系统:获取帮助与积极参与指南 一、PC-BSD系统获取帮助的途径 1.1 PC - BSD邮件列表 邮件列表是与其他用户互动的另一种方式。有些用户更习惯使用电子邮件,相较于在线论坛,他们更喜欢邮件列表;还有些用户希望邮件直接到达收件箱,而不必去论坛搜索信息。当你在谷歌…

作者头像 李华
网站建设 2026/4/22 20:33:17

Python机器学习:从零基础到深度实战

​目录第一部分&#xff1a;思想与基石——万法归宗&#xff0c;筑基问道第1章&#xff1a;初探智慧之境——机器学习世界观1.1 何为学习&#xff1f;从人类学习到机器智能1.2 机器学习的“前世今生”&#xff1a;一部思想与技术的演进史1.3 为何是Python&#xff1f;——数据科…

作者头像 李华