企業(yè)知識庫檢索優(yōu)化:SpringAI 玩轉(zhuǎn) OCI 向量模型
1.引言
大家好呀,我是 31 歲依舊在寫 Bug 和修 Bug 的小米。今天要聊的主題,源自我一個(gè)真實(shí)的故事:
上個(gè)月,我的同事老王在做一個(gè)企業(yè)內(nèi)部智能客服項(xiàng)目,結(jié)果客戶老是抱怨說——“問問題搜不到答案”。比如用戶問“怎么退款”,知識庫里卻寫的是“退費(fèi)流程”,關(guān)鍵詞匹配完全歇菜。老王天天被懟,最后找到我求救。
于是我遞給他一個(gè)“秘密武器”:OCI GenAI 向量模型 + SpringAI。沒想到上線后,客戶直呼:“哎喲,這次客服終于聰明點(diǎn)了!”
今天這篇文章,我就帶大家從零開始,手把手走一遍——如何在 SpringAI 中接入 OCI GenAI 向量模型。
2.OCI GenAI 向量模型
OCI GenAI 是 Oracle Cloud Infrastructure 提供的生成式 AI 服務(wù),它支持多種模型調(diào)用,包括 向量模型(Embedding Models)。向量模型的核心作用是把文本轉(zhuǎn)為高維向量坐標(biāo),讓語義相近的詞在向量空間里“靠近”。
舉個(gè)例子:
- “退款” 和 “退費(fèi)” 的向量距離很近。
- “蘋果(水果)” 和 “蘋果(公司)” 的向量雖然字一樣,但語境不同,向量表示能區(qū)分。
所以 Embedding 模型特別適合:
- 企業(yè)知識庫檢索
- RAG(檢索增強(qiáng)生成)
- 語義搜索引擎
SpringAI 對 OCI GenAI 向量模型做了封裝,你只需要輕量配置,就能直接調(diào)用。是不是很絲滑?
3.先決條件
要跑起來,先準(zhǔn)備好幾樣?xùn)|西:
- Java 17+:SpringAI 對 JDK 版本有要求。
- Spring Boot 3.2+:保證 Starter 能正常使用。
- OCI 賬號和 API Key:在 OCI 控制臺 注冊,創(chuàng)建一個(gè) API Key,記下 tenancy/region 信息。
- Maven/Gradle 項(xiàng)目:Spring Boot 工程,方便依賴管理。
準(zhǔn)備齊全后,就可以開干啦。
4.添加存儲庫和 BOM
在 pom.xml 里添加依賴:
圖片
這就相當(dāng)于“準(zhǔn)備鍋碗瓢盆”,等會就能下廚了。
5.自動配置
Spring Boot 最爽的就是自動配置。你只要在 application.yml 填好 OCI 的信息,SpringAI 就會幫你自動裝配好 Embedding Model:
圖片
啟動后,就能直接 @Autowired 注入 OCI 的 Embedding 模型了。
6.Embedding 屬性
配置參數(shù)主要分為三類:連接、重試、模型。
圖片
這些屬性既能在配置文件里寫死,也能在代碼里靈活調(diào)整。
7.運(yùn)行時(shí)選項(xiàng)
如果你想在運(yùn)行時(shí)切換不同的 Embedding 配置,可以使用 OCIEmbeddingOptions:
圖片
這種方式適合多租戶、多模型動態(tài)切換場景。
8.示例代碼
寫一個(gè)最簡單的 REST 控制器,讓大家直接調(diào)用:
圖片
訪問:
圖片
返回的就是一串 1536 維的向量數(shù)組,看似雜亂無章,其實(shí)就是智能檢索的數(shù)學(xué)基石!
9.手動配置
有些小伙伴喜歡“搓 Bean”,不依賴自動配置,那也可以:
圖片
這樣,你就完全自己掌控配置,靈活度更高。
10.總結(jié)
今天小米帶大家從故事開場,到完整技術(shù)實(shí)現(xiàn),一步步走完了 SpringAI 集成 OCI GenAI 向量模型 的實(shí)戰(zhàn):
- 了解了 Embedding 模型的作用。
- 準(zhǔn)備好先決條件。
- 添加依賴和 BOM。
- 通過自動配置快速上手。
- 用表格梳理了配置屬性。
- 展示了運(yùn)行時(shí)選項(xiàng)。
- 寫了一個(gè) REST 控制器示例。
- 最后補(bǔ)充了手動配置方案。
一句話總結(jié):OCI GenAI 向量模型讓搜索更聰明,SpringAI 讓接入更輕松。 如果你正在做企業(yè)搜索、知識庫、RAG 系統(tǒng),快把這套組合武器拿去用吧!
































