OCI GenAI + Spring AI = 向量检索的最强组合,你准备好了吗?

B站影视 内地电影 2025-10-25 09:34 1

摘要:有时候,程序员的快乐真的很简单——比如,终于搞懂了 OCI 的 GenAI 向量模型!那天我在办公室喝着第二杯美式,看着控制台跑出那行“Embedding completed successfully”,差点起立鼓掌。今天,小米就带你走进 Spring AI

有时候,程序员的快乐真的很简单——比如,终于搞懂了 OCI 的 GenAI 向量模型!那天我在办公室喝着第二杯美式,看着控制台跑出那行“Embedding completed successfully”,差点起立鼓掌。今天,小米就带你走进 Spring AI 的世界,一起玩转 OCI GenAI 向量模型 ——它不止能“理解文本”,还能为 AI 应用赋能,让智能检索、知识问答、语义搜索都变得又准又快!

那是一个项目上线前的晚上。我们的客服知识库太庞大,用户提的问题和文档标题完全不匹配。

我想了想,单纯关键字匹配肯定不行,于是盯上了“向量检索”这条路。

就在那时,我发现了 Spring AI 的 OCI GenAI 向量模型(Oracle Cloud Infrastructure Generative AI) —— 它支持直接生成文本向量嵌入(Embedding),还完美兼容 Spring Boot。

一句话总结:

这是一个可以让你轻松用上 Oracle 云 AI 能力的神器!

这些向量可以理解为文本的“语义指纹”——语义相似的文本,它们的向量距离也会更近。

举个例子:

“买机票到东京”和“预订去日本的航班”虽然文字不同,但通过 Embedding 向量后,它们的语义距离会非常接近。

Spring AI 提供了非常优雅的封装,让我们通过简单的配置就能调用 OCI 的 Embedding 服务。

在 OCI 控制台中,进入 Generative AI 模型页面,我们可以选择:

模型类型:Text Embedding模型名称:如 cohere.embed-english-v3.0 或 cohere.embed-multilingual-v3.0部署区域(Region)模型端点(Endpoint)

每个模型都有不同的特点,比如英文模型速度快、多语言模型覆盖广。

小米小贴士:

如果你的系统要支持中文和英文双语知识库,推荐用 embed-multilingual-v3.0,效果会比单语模型更好。

进入 OCI 控制台 → Generative AI → Text Embedding 页面,就能直接测试文本嵌入。

你只需输入一段文本,控制台就会返回一串向量数组。例如输入:

“Spring AI 是 Java 世界的 AI 框架。”

返回的结果可能是一个 1024 维的浮点数组。这些数字看起来平平无奇,但它们代表了文本的语义特征。

而在实际项目中,我们会将这些向量存入向量数据库(如 Milvus、Pinecone、PGVector)用于语义检索。

在使用 Spring AI 集成 OCI GenAI 之前,你需要准备以下内容:

在 pom.xml 中添加依赖即可轻松接入。

这一步就像打通了任督二脉——从此,你的 Spring Boot 项目拥有了 AI 的灵魂。

Spring AI 已经为我们准备好了 OciEmbeddingAutoConfiguration,只需在 application.yml 中配置 OCI 参数即可自动启用。

这样,Spring Boot 启动时就会自动创建 OciEmbeddingClient 实例,无需手动 Bean 配置。

是不是有点“Plug and Play”的感觉?

Spring AI 为 OCI GenAI 提供了详细的配置属性。我们来看看两个核心属性组:

1. spring.ai.oci.genai 属性

2. spring.ai.oci.genai.embedding 属性

在运行时,我们还可以灵活调整嵌入行为。

Spring AI 提供了 OCIEmbeddingOptions 类,可以让我们动态控制参数:

这样我们可以针对不同场景灵活切换模型或调整批处理策略。

现在到了大家最喜欢的环节——上代码!

以下是一个完整的 Spring Boot 示例,展示如何调用 OCI GenAI 向量模型进行文本嵌入。

运行之后,访问 POST /embedding 接口,输入一段文本,就能获得一个漂亮的向量数组。

就这么简单,你的系统已经拥有了语义理解能力!

当然,如果你想更灵活地控制,可以手动配置 OCIEmbeddingClient Bean:

这种方式适合想要在多模型、多环境之间动态切换的开发者。

“人类理解语言靠情感,AI 理解语言靠向量。”

向量,是 AI 理解世界的方式。而 Spring AI + OCI GenAI 的组合,让 Java 开发者终于可以用熟悉的方式驾驭这种能力。

你可以用它做:

智能问答语义搜索向量数据库检索推荐系统文档聚类分析

未来的应用,不仅要“存储数据”,还要“存储语义”。而这,就是向量的意义。

“代码是冷的,但 AI 让它有了灵魂。”

当你把 OCI GenAI 接入项目的那一刻,你不仅让系统更智能,也让自己更靠近未来。

下次,我们来聊聊——如何用 Spring AI + 向量数据库构建一个真正懂语义的知识问答系统。

来源:小凯课堂

相关推荐