当前位置: 首页 > news >正文

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);
http://www.jsqmd.com/news/98581/

相关文章:

  • 【AIE1001】Week 7, 8, 9, 10, 11
  • 打工人是怎么跟打工魂兼容的!
  • Qwen3-8B与vLLM协同推理实战
  • 2025年防滑牛皮纸厂家权威推荐榜:高摩擦工业包装与创意手工优选,实力品牌深度解析 - 品牌企业推荐师(官方)
  • uniapp+springboot基于微信小程序的方言粤语文化传播平台的设计与开发_4b942thb_论文
  • 完整教程:技术演进中的开发沉思-199 JavaScript: YUI 高级交互动画
  • 2025年10月中国管理咨询公司推荐:权威榜单与深度对比评测报告 - 十大品牌推荐
  • 【前端】【canvas】【pixi.js】水波纹滤镜实现教程 - 支持随机波动与鼠标交互
  • 《P2152 [SDOI2009] SuperGCD》
  • 2025年12月祛痘沐浴露推荐排行榜单:十强品牌深度评测对比与科学选购指南 - 十大品牌推荐
  • 性价比高的物联网网关开发哪个哪家强
  • Qwen3-14B-MLX-4bit的长文本处理与YaRN扩展
  • 2025年12月祛痘沐浴露推荐排行榜:十款热门产品深度评测与选购指南 - 十大品牌推荐
  • LangFlow工作流实时预览功能详解及其应用场景
  • Qwen3-VL-30B显存需求全解析:不同精度下的真实占用
  • 2025年12月祛痘沐浴露推荐:十款热门产品深度对比与效果评测榜 - 十大品牌推荐
  • 24、Linux文件系统:ext2、ext3与ReiserFS深度解析(上)
  • uniapp+springboot基于微信小程序的考研资源共享平台的设计与实现_b7qm8367_cc181
  • 2025年易久伺服压装系统权威推荐:精密装配领域技术口碑与市场表现解析 - 十大品牌推荐
  • C++日志系统支持网络输出
  • 雪深监测站:积雪厚度与降雪总量的信息采集
  • 20万以内城市代步新能源SUV排行榜:6款纯电动低养车成本车型深度解析
  • 好用的物联网网关开发机构
  • 爱玩机工具箱 S-22.1.0.1,强大的手机玩机刷机模块工具箱,免Root也能隐藏应用
  • 2025 年值得选择的 TVC 视频制作服务推荐
  • 如何用GPT-SoVITS实现高质量语音合成?开源方案全解析
  • Niagara Launcher V1.15.4 分享:独一无二的安卓第三方桌面,修复部分问题
  • 过碳酸钠厂家推荐:优质供应商、批发商及制造商大全 - 品牌2026
  • 汽车零部件检测的未来:全尺寸、全链条、全生命周期管理
  • 易语言数据库操作:结构化数据管理的核心