当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

大家好,我是小米,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,有几个准备工作要先搞定:

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

比如在 Mac/Linux 下可以这样设置:

export GOOGLE_APPLICATION_CREDENTIALS=/Users/xiaomi/keys/my-vertex-ai.json

这一步非常关键,没有它,Spring 可不知道你是谁。

添加存储库和 BOM(Dependencies)

接下来就是熟悉的 Java 工程配置环节啦。

在你的 pom.xml 里,先加入 SpringAI 官方的仓库和 BOM 管理:

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

然后添加 Vertex AI 的依赖包:

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

这样,Spring Boot 已经能识别 Vertex AI 的模型类型啦!

自动配置(Auto Configuration)

SpringAI 的一大魔力就是 “自动配置”

只要你在 application.yml 或 application.properties 里配置好 Vertex AI 的相关属性,Spring 就会自动帮你实例化好模型对象。我们只要做一件事:配置属性。

Embedding 属性配置

来,我们先看看在 application.yml 里怎么配置。

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

是不是很优雅?几行配置就能把 Vertex AI 嵌入到 Spring 世界。

1. vertex.ai.embedding 属性

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

2. vertex.ai.embedding.text 属性

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

示例控制器(Example Controller)

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

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

现在,启动你的 Spring Boot 应用,打开浏览器访问:

http://localhost:8080/embed?text=SpringAI makes AI easy!

Boom!

你就会得到一串长长的浮点数向量。这些数字就是 Vertex AI 理解你这句话的“语义DNA”。

手动配置 VertexAiTextEmbeddingModel

当然,有时候我们需要更灵活的控制,想自己手动创建模型。

没问题,我们可以直接在配置类中自己定义 Bean:

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

这样,我们就完全绕过自动配置,手动管理模型实例。这在多项目或多模型场景下特别有用。

从 Google 服务帐户加载凭据

最后一步,安全问题千万别忽略。

SpringAI 支持自动从 Google 服务账户中加载凭据。有两种方式:

方式1:通过环境变量

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account.json

Spring 会自动检测并加载。

方式2:通过配置文件指定

在 application.yml 中:

当Spring遇上Google大脑:一文玩转Vertex AI文本向量模型

把凭据文件放到 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岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...