众力资讯网

震撼!SpringAI 扛起多模态大旗:Google Vertex AI 嵌入模型太强了!

大家好,我是小米。今天我一定要和你们分享一个我最近“玩到停不下来”的东西:Google Vertex AI 的多模态向量

大家好,我是小米。

今天我一定要和你们分享一个我最近“玩到停不下来”的东西:

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。

END

如果你是想在公司里构建私有向量库、图像检索系统、AI 搜索引擎、多模态知识库……

强烈建议马上试试 Vertex AI Multimodal Embedding + SpringAI。