大家好,我是小米,31岁,爱码字、爱分享、也爱在夜里撸一杯手冲咖啡,然后和代码谈一场精神恋爱。
前段时间我写了几篇关于 SpringAI 的文章,不少小伙伴私信问:“小米,SpringAI 里能不能用 Google 的 Vertex AI 啊?我想直接调用它的文本向量模型!”
我当时心想:当然能!SpringAI 已经为 Vertex AI 做好了集成,你只需要几步配置,就能让 Google 的大模型在你的 Spring Boot 项目里活蹦乱跳。
今天,我们就来一起探索:如何在 SpringAI 中集成 VertexAI 的文本向量模型(Text Embedding Models)。
准备好了吗?走起~
认识 Vertex AI:Google 的 AI 大脑工厂
在进入 Spring 的世界前,我们得先知道 Vertex AI 是个什么玩意。
简单来说,Vertex AI 是 Google Cloud 提供的 统一机器学习平台,里面包含了各种强大的 AI 模型,比如文本生成、图像识别、语音识别、embedding、甚至自定义模型训练。
而我们今天的主角 —— VertexAI Text Embedding Models,就是专门用来生成文本向量(Text Embeddings)的。这些向量可用于:
搜索匹配(semantic search)推荐系统文本相似度分析RAG(检索增强生成)聊天机器人上下文记忆
你只要丢给它一句话,它就会帮你把这句话变成一个数字向量。这些向量是机器理解语义的关键。换句话说,它就是让机器“懂你在说什么”的那双眼睛。
先决条件(Prerequisites)
要在 Spring Boot 中跑起 Vertex AI,有几个准备工作要先搞定:

比如在 Mac/Linux 下可以这样设置:
export GOOGLE_APPLICATION_CREDENTIALS=/Users/xiaomi/keys/my-vertex-ai.json
这一步非常关键,没有它,Spring 可不知道你是谁。
添加存储库和 BOM(Dependencies)
接下来就是熟悉的 Java 工程配置环节啦。
在你的 pom.xml 里,先加入 SpringAI 官方的仓库和 BOM 管理:

然后添加 Vertex AI 的依赖包:

这样,Spring Boot 已经能识别 Vertex AI 的模型类型啦!
自动配置(Auto Configuration)
SpringAI 的一大魔力就是 “自动配置”。
只要你在 application.yml 或 application.properties 里配置好 Vertex AI 的相关属性,Spring 就会自动帮你实例化好模型对象。我们只要做一件事:配置属性。
Embedding 属性配置
来,我们先看看在 application.yml 里怎么配置。

是不是很优雅?几行配置就能把 Vertex AI 嵌入到 Spring 世界。
1. vertex.ai.embedding 属性

2. vertex.ai.embedding.text 属性

示例控制器(Example Controller)
好啦,配置有了,我们写个最简单的 REST 控制器来试试生成文本向量。

现在,启动你的 Spring Boot 应用,打开浏览器访问:
http://localhost:8080/embed?text=SpringAI makes AI easy!
Boom!
你就会得到一串长长的浮点数向量。这些数字就是 Vertex AI 理解你这句话的“语义DNA”。
手动配置 VertexAiTextEmbeddingModel
当然,有时候我们需要更灵活的控制,想自己手动创建模型。
没问题,我们可以直接在配置类中自己定义 Bean:

这样,我们就完全绕过自动配置,手动管理模型实例。这在多项目或多模型场景下特别有用。
从 Google 服务帐户加载凭据
最后一步,安全问题千万别忽略。
SpringAI 支持自动从 Google 服务账户中加载凭据。有两种方式:
方式1:通过环境变量
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account.json
Spring 会自动检测并加载。
方式2:通过配置文件指定
在 application.yml 中:

把凭据文件放到 src/main/resources 下即可。
安全提醒:
千万别把服务账号 JSON 文件上传到 GitHub!记得加 .gitignore。
总结:Spring + Vertex = AI生产力爆表!
到这里,我们就完整地打通了 Spring Boot 与 Google Vertex AI 的文本向量模型。回顾一下,我们做了哪些事:
了解了 Vertex AI 是什么;准备了 Google Cloud 环境与服务账号;添加依赖和 BOM;配置了自动装配属性;用表格掌握了 Embedding 参数;写了一个简单的 REST 控制器;学会了手动创建 VertexAiTextEmbeddingModel;搞定了凭据加载。
从此之后,你就能轻松在 Java 世界里使用 Google 的超强文本向量服务,让 AI 赋能你的搜索、推荐、聊天、知识库等功能。
END
我常说,AI 时代的开发者,最重要的不是写多少行代码,而是懂得“借力”。
SpringAI 就像是一个超级适配器,它让我们这些 Java 工程师也能优雅地拥抱大模型。而 Vertex AI 则是 Google 的智慧结晶,可靠、稳定、语义理解力爆棚。
当这两个世界融合在一起,那种感觉就像——
一杯完美萃取的咖啡:浓、香、顺滑、回味悠长。
我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!


