偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么說(shuō)“嵌入”是 AI 的靈魂?一文帶你玩轉(zhuǎn) SpringAI 向量模型

人工智能
嵌入是什么?簡(jiǎn)單理解:就是把自然語(yǔ)言(文本)轉(zhuǎn)化為一堆高維向量。這樣相似的內(nèi)容就能在“向量空間”里自動(dòng)靠近,檢索、推薦、聚合都不在話下。

最近有小伙伴問(wèn)我,AI 里的“嵌入模型 API”到底是干嘛的?其實(shí),它就像把文字、圖片、數(shù)據(jù)轉(zhuǎn)成“數(shù)字DNA”,方便 AI 理解和處理。在 SpringAI 里,這一套 API 已經(jīng)封裝得很優(yōu)雅,今天小米就帶大家從故事開(kāi)頭一路聊到落地實(shí)現(xiàn),保證看完你能用得飛起。

1.故事開(kāi)場(chǎng):為什么要有嵌入模型?

前段時(shí)間,我的同事阿輝遇到一個(gè)經(jīng)典問(wèn)題:

公司知識(shí)庫(kù)的內(nèi)容太龐大,光靠關(guān)鍵字搜索效率極低,經(jīng)常搜不到真正相關(guān)的答案。于是,老板甩下一句話:

“要讓用戶輸入一句話,系統(tǒng)能立刻找到最相關(guān)的資料!”

阿輝一臉懵逼地跑來(lái)找我。

我說(shuō):“這事啊,用嵌入(Embedding)就能解決?!?/p>

嵌入是什么?簡(jiǎn)單理解:就是把自然語(yǔ)言(文本)轉(zhuǎn)化為一堆高維向量。這樣相似的內(nèi)容就能在“向量空間”里自動(dòng)靠近,檢索、推薦、聚合都不在話下。

SpringAI 里有一套嵌入模型 API,把復(fù)雜的細(xì)節(jié)都封裝好了,我們只需要會(huì)用,就能輕松上手。

2.嵌入模型 API 概述

在 SpringAI 里,嵌入模型 API 的定位很清晰:

  • 統(tǒng)一接口:無(wú)論你用的是 OpenAI、Ollama 還是本地模型,調(diào)用方式都一致。
  • 標(biāo)準(zhǔn)化輸入輸出:請(qǐng)求就是 EmbeddingRequest,響應(yīng)就是 EmbeddingResponse。
  • 結(jié)果可復(fù)用:嵌入的結(jié)果可以直接拿去做向量數(shù)據(jù)庫(kù)檢索(比如 Milvus、Pinecone、Postgres+pgvector),也能做相似度計(jì)算。

這套 API 就像一座“適配橋梁”,把不同廠商、不同實(shí)現(xiàn)的模型統(tǒng)一到一套 Spring 風(fēng)格的接口下。

一句話總結(jié):寫一次代碼,隨便切換模型實(shí)現(xiàn)。

3.核心類:EmbeddingModel

嵌入 API 的核心抽象是 EmbeddingModel。

它是一個(gè)接口,定義了嵌入模型應(yīng)該具備的能力。典型的方法有:

  • 調(diào)用嵌入:接收文本或文檔,返回對(duì)應(yīng)的向量表示。
  • 返回 EmbeddingResponse:把模型生成的結(jié)果統(tǒng)一打包。

比如你用 OpenAiEmbeddingModel,它就是 EmbeddingModel 的一個(gè)具體實(shí)現(xiàn)。換成 OllamaEmbeddingModel 也沒(méi)問(wèn)題,代碼不用大改。

這就是 SpringAI 的強(qiáng)大之處:通過(guò)抽象接口,把“變化的部分”交給實(shí)現(xiàn),“不變的部分”交給我們開(kāi)發(fā)者。

4.請(qǐng)求參數(shù):EmbeddingRequest

要跟嵌入模型說(shuō)話,我們得先準(zhǔn)備好“輸入材料”。

這時(shí)登場(chǎng)的就是 EmbeddingRequest。

它的作用就像一張訂單單據(jù),把我們要轉(zhuǎn)換的文本交給模型。常見(jiàn)參數(shù)有:

  • input:待嵌入的文本,可以是一段話,也可以是多個(gè)文檔。
  • options:模型選項(xiàng),比如指定使用哪個(gè) embedding 模型。

舉個(gè)例子,如果你要嵌入一句話:

圖片圖片

是不是很直觀?這就是典型的 Spring 風(fēng)格,寫起來(lái)很順手。

5.響應(yīng)結(jié)果:EmbeddingResponse

模型跑完之后,返回的就是 EmbeddingResponse。

它里面包含了:

  • 一個(gè)或多個(gè) Embedding:每一條輸入文本對(duì)應(yīng)一個(gè)向量。
  • 使用的模型信息:方便你追蹤是哪個(gè)模型干的活。
  • 元信息:比如消耗的 tokens,或者額外的調(diào)試數(shù)據(jù)。

開(kāi)發(fā)者最常用的就是取出 Embedding,拿到向量后再存進(jìn)數(shù)據(jù)庫(kù)或者計(jì)算相似度。

6.向量本體:Embedding

重點(diǎn)來(lái)了!

Embedding 就是嵌入結(jié)果的核心載體,它里面有:

  • embedding 向量:一個(gè)高維數(shù)組,比如 [0.021, -0.543, 0.112, ...]。
  • 索引:對(duì)應(yīng)輸入的第幾條文本。

想象一下,如果你輸入了三段話,返回結(jié)果里就有三個(gè) Embedding,每個(gè)都對(duì)應(yīng)一段文本的向量化表示。

這個(gè)向量可不是普通數(shù)組,它能支撐起相似度計(jì)算。比如兩段話的余弦相似度越接近 1,就說(shuō)明它們?cè)较嗨啤?/p>

7.可用實(shí)現(xiàn)

SpringAI 已經(jīng)幫我們封裝了多種實(shí)現(xiàn):

  • OpenAIEmbeddingModel:調(diào)用 OpenAI 的 text-embedding 系列模型。
  • OllamaEmbeddingModel:支持本地部署的模型,比如 llama2 的 embedding 版本。
  • VertexAIEmbeddingModel:對(duì)接 Google Vertex AI 的嵌入能力。
  • BedrockEmbeddingModel:AWS Bedrock 提供的 embedding 模型。

未來(lái)還會(huì)有更多廠商接入,比如 Anthropic、智譜等。

更酷的是,如果你想接入自研模型,只要實(shí)現(xiàn) EmbeddingModel 接口就行,完全無(wú)縫銜接。

8.場(chǎng)景落地:知識(shí)庫(kù)問(wèn)答

阿輝聽(tīng)完我的解釋后,立刻跑去寫了個(gè)小 demo:

  • 用戶輸入問(wèn)題,比如:“如何在 SpringBoot 中使用 Redis 緩存?”
  • 系統(tǒng)先把這句話丟給 EmbeddingModel,生成向量。
  • 向量拿去查數(shù)據(jù)庫(kù),找最相似的文檔。
  • 最后把文檔交給大模型,總結(jié)出自然語(yǔ)言答案。

效果超神!以前搜不到答案的同事,現(xiàn)在一句話就能命中關(guān)鍵文檔。

這就是嵌入的魔力。

9.總結(jié)

今天我們從故事出發(fā),完整走了一遍 SpringAI 的嵌入模型 API:

  • 嵌入模型 API 概述:統(tǒng)一調(diào)用,適配多廠商。
  • EmbeddingModel:核心接口,定義模型能力。
  • EmbeddingRequest:輸入載體。
  • EmbeddingResponse:結(jié)果打包。
  • Embedding:向量本體。
  • 可用實(shí)現(xiàn):OpenAI、Ollama、Vertex、Bedrock 等。

一句話總結(jié):嵌入模型 API 是 SpringAI 的“向量心臟”,讓 AI 能看懂語(yǔ)義,搞定相似度搜索和知識(shí)問(wèn)答。

下次再聊,我會(huì)結(jié)合 pgvector,帶你做一個(gè)完整的“企業(yè)知識(shí)庫(kù)問(wèn)答”小系統(tǒng),把嵌入模型的威力發(fā)揮到極致。

責(zé)任編輯:武曉燕 來(lái)源: 軟件求生
相關(guān)推薦

2025-03-18 10:00:00

Embedding向量嵌入

2022-10-08 06:38:01

元宇宙NFT加密貨幣

2022-04-08 09:01:14

CSS自定義屬性前端

2022-09-29 13:09:38

DataClassPython代碼

2025-01-15 09:06:57

servlet服務(wù)器Java

2019-07-04 15:16:52

數(shù)據(jù)挖掘大數(shù)據(jù)算法

2022-09-06 11:21:49

光網(wǎng)絡(luò)光纖

2022-03-14 08:01:06

LRU算法線程池

2023-05-17 11:33:45

梯度下降機(jī)器學(xué)習(xí)

2022-11-09 09:15:31

ProtoBufGo語(yǔ)言

2019-04-19 14:03:52

APISDK接口

2025-04-02 00:00:00

2023-04-11 08:01:32

Web 開(kāi)發(fā)源代碼映射

2020-11-17 09:32:57

設(shè)計(jì)模式責(zé)任鏈

2023-07-17 10:45:03

向量數(shù)據(jù)庫(kù)NumPy

2025-10-09 00:00:00

SpringAIOCI

2024-06-27 10:50:01

2025-03-17 08:15:00

AI技術(shù)模型

2018-10-22 08:14:04

2019-11-14 09:16:56

物聯(lián)網(wǎng)技術(shù)路由器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)