大家好,我是小米。
今天我一定要和你们分享一个我最近“玩到停不下来”的东西:
Google Vertex AI 的多模态向量模型(Multimodal Embedding)整合进 SpringAI。
你有没有这种感觉:
明明我们已经用文本向量模型玩得飞起,做语义搜索、做相似度匹配、做推荐算法……结果这时候突然有人告诉你:
“兄弟,别只盯着文本了,世界是多模态的,图像、文本、音频、视频都能一起理解!”
这不就像你刚学会炒酸菜鱼,突然有人告诉你还能一锅端火锅、烤肉、炒粉丝一样震撼吗?
于是,我开始探索 Google 的多模态嵌入模型Vertex AI Multimodal Embeddings,再配合 SpringAI 的自带自动配置……
简直不要太爽。今天我们就一起来把它彻底讲明白!
Vertex AI 多模态嵌入 API 是个啥?
如果你用过 OpenAI 的 CLIP、Google 的 PaLM Embedding、或 Cohere 的 multimodal 模型,那你已经对“多模态 Embedding”不陌生了。
但 Google 的 Vertex AI Multimodal Embeddings 最大的特点是:
一个模型,同时支持文本 + 图像输入,生成统一向量空间 Embedding
也就是说:
- 你可以让模型把图片转成 embedding
- 也可以把文本转成 embedding
- 甚至可以让它把文本和图像一起输入,生成带语义理解的混合向量
比如:
- 给模型一张猫的图片,让它输出 1408 维向量
- 然后给它一句话 “一只窝在沙发上的橘猫”,也会输出 1408 维向量
- 你还能用向量相似度判断图片和文本是不是描述同一个东西(比如在图像搜索、内容检索中超常用)
这就是统一模态向量空间(UNIFIED space)的魅力。而 SpringAI 已经把它封装得非常丝滑,只需要几行配置即可调用。
先决条件(Prerequisites)
要顺利使用 SpringAI + Vertex AI,你至少需要准备这些:
1. 一个 Google Cloud 项目
必须提前启用 Vertex AI API。
2. 在 Google Cloud 上创建服务账号
并下载 JSON 密钥文件。
3. 给这个服务账号绑定至少以下权限
- Vertex AI User
- Storage Object Viewer(如果你要从 GCS 读取图片)
4. 你的 Spring Boot 项目版本
建议:
- Spring Boot >= 3.2
- SpringAI >= 1.0+
因为 SpringAI 从 1.0 起就内置了 Vertex AI 支持。
5. 配置 GOOGLE_APPLICATION_CREDENTIALS
例如:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account.json
这些准备好后,下面就可以开干了!
添加存储库和 BOM
在你的 pom.xml 中添加 SpringAI 的 BOM 和依赖:
![]()
加上这些,你就可以在 Spring 中用 VertexAiEmbeddingModel 和 VertexAiMultimodalEmbeddingModel。
自动配置(Auto Configuration)
SpringAI 的精髓就在于 ——自动配置!
当你把下面这些 application.yml 配好:
![]()
然后只要写:
![]()
它就能直接拿来用了!
- 不用你创建 client
- 不用你写 Builder
- 不用你写工厂方法
- 不用你管理 token
- 不用你处理 endpoint
是不是超级爽?
Embedding 属性
SpringAI 对 Vertex AI 的 Embedding 相关属性做了一层非常贴心的封装,我们来看看有哪些配置可调。
1. vertex.ai.embedding 属性
![]()
这些是专门给“文本 embedding(Text Embedding)”用的。
2. vertex.ai.embedding.multimodal 属性
多模态版的配置更丰富:
![]()
配好这些,SpringAI 就会自动给你注入一个:
VertexAiMultimodalEmbeddingModel
这个模型能一次性处理文本和图像!
手动配置(VertexAiMultimodalEmbeddingModel)
有时候你想完全控制模型,比如调整 Client、配置超时、修改 endpoint,那么就需要手动创建 Bean。
下面给你一个典型示例:
![]()
你只需要注入就能用了:
![]()
然后直接生成 embedding:
![]()
是不是非常丝滑?
写在最后:多模态未来已来
为什么我这么兴奋地分享 Vertex AI 的多模态向量模型?因为这意味着:
- 图像搜索可以变得更聪明
- 内容审核更准确
- 以图搜文、以文搜图变得简单
- 推荐系统可以跨文本和图像理解用户喜好
- 私有化部署也可以使用多模态能力
- 和 Spring 配合之后真的开发效率爆表
以前我们做向量搜索还只能靠文本,现在我们终于可以拥抱:
“让模型理解世界的更多维度”
作为一个喜欢折腾的程序员,我觉得未来的系统不会只处理文本,一定会是:
- 文本
- 图像
- 视频
- 语音
- 结构化数据
而 SpringAI 把这种能力做得够优雅、够顺滑、够 Java,让人完全不想回头用原生 SDK。
如果你是想在公司里构建私有向量库、图像检索系统、AI 搜索引擎、多模态知识库……
强烈建议马上试试 Vertex AI Multimodal Embedding + SpringAI。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.