切換語言為:簡體

作為 Java 程式要,不要說不知道 SpringAI 這個框架!

  • 爱糖宝
  • 2024-06-13
  • 2212
  • 0
  • 0

Spring AI 已經發布了好長時間了,目前已經更新到 1.0 版本了,所以身為 Java 程式設計師的你,如果還對 Spring AI 一點都不瞭解的話,那就有點太落伍了。

言歸正傳,那什麼是 Spring AI?如何快速進行 Spring AI 開發呢?

1.什麼是Spring AI?

Spring AI 是 Spring 官方社羣專案,旨在簡化 Java AI 應用程式開發,讓 Java 開發者像使用 Spring 開發普通應用一樣開發 AI 應用。

Spring 官方對於 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 工程的應用框架。其目標是將 Spring 生態系統設計原則(如可移植性和模組化設計)應用於 AI,並推廣使用 POJO 作為 AI 領域應用程式的構建塊。

什麼意思呢?簡單來說,Spring AI 就是讓 Java 開發者,像開發 Spring 普通應用一樣開發 AI 應用。

注意:Spring AI 不是幫你構建一個大模型,而是讓你方便的對接各種大模型

Spring AI 官方文件:spring.io/projects/sp…

2.Spring AI有什麼功能?

Spring AI 目前可以實現以下功能(後續還會支援更多功能):

  1. 智慧聊天

  2. 文字轉圖片

  3. 音訊和文字互轉

Spring AI 支援的大模型有以下這些(後續還會支援更多大模型): 作為 Java 程式要,不要說不知道 SpringAI 這個框架!

3.Spring AI快速上手

Spring AI 開發步驟主要有以下幾步:

  1. 建立 Spring Boot 專案,並新增模型依賴;

  2. 配置模型的連線地址和秘鑰;

  3. 使用模型提供的物件和方法,實現功能呼叫。

具體操作如下。

3.1 新增模型依賴

首先,先建立一個 Spring Boot 專案(最低 Java 版本為 JDK 17),並新增 AI 模型依賴(以 OpenAI 為例演示),如下圖所示: 作為 Java 程式要,不要說不知道 SpringAI 這個框架!

3.2 配置模型引數

OpenAI 至少要配置兩個引數:模型的介面訪問地址和模型的秘鑰資訊,如下配置所示:

spring:
  ai:
    openai:
      base-url: https://api.openai.com
      api-key: sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

如何獲取 OpenAI 的 api-key?

答:可以去某寶,搜尋“API Key”花幾毛錢就可以買一個 key,呼叫上千次。

3.3 呼叫模型方法

以 AI 聊天為例,當我們操作 OpenAI 的時候,可以透過 OpenAiChatModel 物件的 call(String msg) 進行聊天功能的實現,具體實現程式碼如下:

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;

    // 生成一個普通方法
    @RequestMapping("/test")
    public String test(String msg) {
        if (!StringUtils.hasLength(msg)) {
            return "請先輸入資訊!";
        }
        return chatModel.call(msg);
    }
}

以上程式碼的執行效果如下: 作為 Java 程式要,不要說不知道 SpringAI 這個框架! 

當然,除了聊天功能之外,我們還可以實現生成圖片、音訊和文字的互相轉換等功能,這裏就不一一演示了,大家可以去官網檢視更多示例程式碼:docs.spring.io/spring-ai/r…

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.