一直想要體驗下 Spring AI,最近自己的一個工具有這個需求,所以這里準備使用下。其實使用起來超級簡單。
1.IDEA 新建 Spring項目
1)這里可以根據自己的喜好選擇 項目名、jdk版本等
2)這里選擇 在ai中選擇 openAI 即可。然后我另外選擇了一個 Spring Web,因為我是需要對外提供API的。
2.項目代碼與配置
項目目錄文件結構:
1)配置 application.yml
這里我對接的是 硅基流動的api,然后選擇的模型是 deepseek-ai/DeepSeek-V3。這些都可以自由選擇,如果你之前沒有注冊使用過這種模型api提供商,可以先看下第三節。
spring:application:name: x-aiai:openai:api-key: sk-qoiiuryvclnaqbmhqqquyg*****vyrincprsfvirxafrrbase-url: https://api.siliconflow.cn/chat:options:model: deepseek-ai/DeepSeek-V3
2)配置客戶端
package com.xr.xai.config;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class CommonConfiguration {@Beanpublic ChatClient chatClient(OpenAiChatModel model){return ChatClient.builder(model).build();}
}
3)編寫 ChatController
package com.xr.xai.controller;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;@RestController
@RequestMapping("/ai")
public class ChatController {@Autowiredprivate ChatClient chatClient;@RequestMapping(value = "/chat", produces = "text/html;charset=utf8")public Flux<String> chat(String prompt) {return chatClient.prompt().user(prompt).stream().content();}}
完成以上,就可以編譯運行了。怎么測試呢?
在瀏覽器上輸入這個URL 或者 postman請求下
http://localhost:8080/ai/chat?prompt=Spring AI 怎么使用
3.硅基流動注冊與使用
我的邀請注冊鏈接:https://cloud.siliconflow.cn/i/19016f2p,注冊完成后可以新建API密鑰。
1)新建API密鑰并復制粘貼到項目中
2)選擇想要使用的模型
可以使用的模型有很多,有些是低參數的是免費的,這里你想要使用什么,就把他的名字 復制粘貼到項目配置中。