Spring AI 已經(jīng)發(fā)布了好長時(shí)間了,目前已經(jīng)更新到 1.0 版本了,所以身為 Java 程序員的你,如果還對(duì) Spring AI 一點(diǎn)都不了解的話,那就有點(diǎn)太落伍了。
言歸正傳,那什么是 Spring AI?如何快速進(jìn)行 Spring AI 開發(fā)呢?
Spring AI 是 Spring 官方社區(qū)項(xiàng)目,旨在簡化 Java AI 應(yīng)用程序開發(fā),讓 Java 開發(fā)者像使用 Spring 開發(fā)普通應(yīng)用一樣開發(fā) AI 應(yīng)用。
Spring 官方對(duì)于 Spring AI 的定義是這樣的:
Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.
翻譯一下,Spring AI 是 AI 工程的應(yīng)用框架。其目標(biāo)是將 Spring 生態(tài)系統(tǒng)設(shè)計(jì)原則(如可移植性和模塊化設(shè)計(jì))應(yīng)用于 AI,并推廣使用 POJO 作為 AI 領(lǐng)域應(yīng)用程序的構(gòu)建塊。
什么意思呢?簡單來說,Spring AI 就是讓 Java 開發(fā)者,像開發(fā) Spring 普通應(yīng)用一樣開發(fā) AI 應(yīng)用。
注意:Spring AI 不是幫你構(gòu)建一個(gè)大模型,而是讓你方便的對(duì)接各種大模型。
Spring AI 官方文檔:https://spring.io/projects/spring-ai
Spring AI 目前可以實(shí)現(xiàn)以下功能(后續(xù)還會(huì)支持更多功能):
Spring AI 支持的大模型有以下這些(后續(xù)還會(huì)支持更多大模型):
Spring AI 開發(fā)步驟主要有以下幾步:
具體操作如下。
首先,先創(chuàng)建一個(gè) Spring Boot 項(xiàng)目(最低 Java 版本為 JDK 17),并添加 AI 模型依賴(以 OpenAI 為例演示),如下圖所示:
OpenAI 至少要配置兩個(gè)參數(shù):模型的接口訪問地址和模型的秘鑰信息,如下配置所示:
spring: ai: openai: base-url: https://api.openai.com api-key: sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
如何獲取 OpenAI 的 api-key?
答:可以去某寶,搜索“API Key”花幾毛錢就可以買一個(gè) key,調(diào)用上千次。
以 AI 聊天為例,當(dāng)我們操作 OpenAI 的時(shí)候,可以通過 OpenAiChatModel 對(duì)象的 call(String msg) 進(jìn)行聊天功能的實(shí)現(xiàn),具體實(shí)現(xiàn)代碼如下:
import jakarta.annotation.Resource;import org.springframework.ai.openai.OpenAiChatModel;import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/openai")public class OpenAIController { @Resource private OpenAiChatModel chatModel; // 生成一個(gè)普通方法 @RequestMapping("/test") public String test(String msg) { if (!StringUtils.hasLength(msg)) { return "請先輸入信息!"; } return chatModel.call(msg); }}
以上代碼的執(zhí)行效果如下:
當(dāng)然,除了聊天功能之外,我們還可以實(shí)現(xiàn)生成圖片、音頻和文本的互相轉(zhuǎn)換等功能,這里就不一一演示了,大家可以去官網(wǎng)查看更多示例代碼:https://docs.spring.io/spring-ai/reference/1.0/api/index.html。
本文鏈接:http://www.tebozhan.com/showinfo-26-93705-0.html面試官:談?wù)剬?duì)SpringAI的理解?
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com