精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

2025年,你不能錯過Spring AI,那個汲取了LangChain靈感的家伙!

人工智能
在我看來,Spring AI和AI的關(guān)系,就像Spring Boot和Spring的關(guān)系一樣,旨在簡化包含AI功能的應(yīng)用程序開發(fā),避免不必要的復(fù)雜性。

如何給Spring AI下定義呢?

在我看來,Spring AI和AI的關(guān)系,就像Spring Boot和Spring的關(guān)系一樣,旨在簡化包含AI功能的應(yīng)用程序開發(fā),避免不必要的復(fù)雜性。

據(jù)說,Spring AI是從著名的Python LangChain中汲取的靈感,就是為了讓生成式AI應(yīng)用不僅僅面向Python開發(fā)者,使Java這個偉大的語言再次偉大!

通過Spring AI,可以更行之有效地解決企業(yè)數(shù)據(jù)、API與AI模型集成的根本挑戰(zhàn)。

圖片圖片

Spring AI 提供了一些抽象層,這些具有多種實現(xiàn)方式的抽象層是開發(fā)AI應(yīng)用程序的基礎(chǔ),能夠以最少的代碼改動實現(xiàn)組件的輕松替換。

接下來我們看下Spring AI都具備哪些特性和能力。

1、主流模型支持

按照官網(wǎng)的說法,目前Spring AI支持所有主流的AI大模型提供商,包括:Anthropic、OpenAI、微軟、亞馬遜、谷歌和Ollama等。

其所支持的模型類型有:

  • 聊天補(bǔ)全(Chat Completion)
  • 嵌入(Embedding)
  • 文本生成圖像(Text to Image)
  • 音頻轉(zhuǎn)錄(Audio Transcription)
  • 文本轉(zhuǎn)語音(Text to Speech)
  • 內(nèi)容審核(Moderation)

圖片圖片

圖片圖片

Spring AI支持這么多的大模型,并根據(jù)項目的實際需要在各個大模型間進(jìn)行秒級切換,這對研發(fā)效率的提升是非常有幫助的。

我們就以對話機(jī)器人為例,來看下代碼的具體實現(xiàn)。

配置類及配置文件

我們在這里選擇Spring AI的1.0版本,并引入openai和ollama來實現(xiàn)大模型間的動態(tài)切換。

這里特別需要注意的是,不要用Spring AI的太高版本,我之前用的1.1.0-M7版本,里面各種maven依賴jar包不能下載。

圖片圖片

圖片圖片

圖片圖片

圖片圖片

Controller類

實現(xiàn)具體的大模型調(diào)用。

圖片

啟動類

圖片

訪問結(jié)果

圖片

我們在跑通上面的代碼后,就算完成了Spring AI的Hello World。

2、會話記憶

會話記憶(Conversational Memory)是Spring AI中非常好用的一個特性,可以使系統(tǒng)在對話過程中具有主動記錄、理解和利用上下文信息的能力。

其核心目標(biāo)是讓AI能夠像人類一樣進(jìn)行連貫、有邏輯的多輪交互,而非孤立地處理每一條用戶輸入。

我們繼續(xù)在剛才的代碼中進(jìn)行實現(xiàn)。

配置類及配置文件在這里需要引入會話記憶的依賴,默認(rèn)以內(nèi)存的方式進(jìn)行存儲實現(xiàn)。

圖片圖片

圖片圖片

Controller類

新增了一個completionMemory方法進(jìn)行實驗,這里需要新增一個conversationId(會話ID),用于會話串聯(lián)并記憶。

圖片圖片

訪問結(jié)果

我們首先輸入問題“托尼學(xué)長是誰”,并把會話ID設(shè)置為1。

圖片圖片

接下來,我們輸入問題“我剛才輸入的是什么”,會話ID還是設(shè)置為1。

果然,大模型進(jìn)行了正確的解答,證明我們的會話記憶功能跑通了。

圖片圖片

然后我們再做一次實驗,輸入的問題還是“我剛才輸入的是什么”,但把會話ID設(shè)置為2。

從返回結(jié)果上來看,當(dāng)會話ID變更之后,就無法實現(xiàn)會話記憶了。

圖片圖片

除了內(nèi)存之外,Spring AI還提供了MySQL、PostgreSQL、Cassandra、Neo4j等方式進(jìn)行存儲,我們可以根據(jù)業(yè)務(wù)特性進(jìn)行靈活選擇。

3、提示詞工程

在Spring AI中,提示詞工程(Prompt Engineering)是連接人類意圖與 AI 模型的核心橋梁,簡單說就是通過精心設(shè)計輸入給 AI 的指令(提示),讓模型更精準(zhǔn)地輸出符合預(yù)期的結(jié)果。

做個比較形象的比喻,相當(dāng)于把廣東人說的粵語,轉(zhuǎn)化為全國人民都通俗易懂的普通話。

提示工程的目標(biāo)包括:

  • 明確任務(wù)意圖(問答、總結(jié)、生成代碼)
  • 控制輸出格式(JSON、表格、列表)
  • 減少幻覺(模型生成錯誤信息)
  • 適配特定領(lǐng)域(醫(yī)療、法律、金融等)

我們繼續(xù)通過代碼實現(xiàn)一個簡單的Demo。

Controller類

新增了一個completionPrompt方法進(jìn)行實驗,該方法中共有三個步驟。

  • 先創(chuàng)建一個提示詞模板,需要滿足四要素:角色、任務(wù)、上下文和輸出。
  • 注入可變的參數(shù)。
  • 調(diào)用大模型并返回結(jié)果。

圖片圖片

訪問結(jié)果

1、我們首先輸入?yún)?shù)為“洞見”,返回結(jié)果是一篇現(xiàn)代文。

圖片

2、接下來我們輸入的參數(shù)為“李白”,返回結(jié)果變成了一篇文言文。

圖片

結(jié)語

本篇文章我們先介紹到這里,后續(xù)我們會繼續(xù)介紹Spring AI的RAG、多模態(tài)、MCP、向量存儲等相關(guān)內(nèi)容。


責(zé)任編輯:武曉燕 來源: 托尼學(xué)長
相關(guān)推薦

2024-03-15 08:22:35

JmzyAI開源模型AIGC產(chǎn)品

2017-03-22 11:18:44

2017Java類庫

2025-01-07 00:00:01

2017-07-13 11:46:11

戴爾造夢5000輕裝版

2021-05-15 08:30:40

DevOps測試趨勢

2020-04-03 19:21:59

JavaScript編程語言開發(fā)

2024-12-10 15:10:26

2019-10-14 17:08:04

人工智能機(jī)器人Facebook

2015-09-16 16:44:06

2020-03-09 10:10:02

AI 數(shù)據(jù)人工智能

2018-02-04 14:44:11

2025-01-13 00:00:20

AI.NET應(yīng)用場景

2017-03-29 15:07:38

2017-09-05 16:27:28

GitHub

2025-07-08 01:00:00

數(shù)據(jù)治理數(shù)字化大數(shù)據(jù)

2019-11-12 14:18:56

PythonWord設(shè)計

2025-04-09 08:08:56

2025-08-01 08:55:34

AI人工智能AI平臺

2020-12-22 19:37:04

決策樹機(jī)器學(xué)習(xí)人工智能

2024-12-31 11:34:58

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 峨眉山市| 巩义市| 安吉县| 舟山市| 江华| 时尚| 博爱县| 开封县| 都兰县| 瑞昌市| 漳州市| 库车县| 阳春市| 密山市| 汝南县| 滦南县| 阳城县| 调兵山市| 桂平市| 习水县| 高台县| 噶尔县| 都安| 龙井市| 汉寿县| 博爱县| 公主岭市| 新巴尔虎左旗| 龙游县| 抚远县| 通渭县| 平阳县| 无极县| 江永县| 伊金霍洛旗| 镇坪县| 巩留县| 晋州市| 营口市| 昆山市| 怀远县|