目錄
一、環境準備
二、創建項目、導入依賴
三、配置 application.yml
四、注入Bean,開箱即用
五、日志觀察
一、環境準備
首先和快速上手 Spring AI 框架一樣的前置條件:先申請一個 apikey ,此部分步驟參考:【SpringAI篇01】:5分鐘教會你使用SpringAI (1.0.0穩定版)_spring-ai 1.0.0使用教程-CSDN博客文章瀏覽閱讀1.4k次,點贊42次,收藏32次。后端開發之:從創建 SpringAI 項目開始,到快速入門實現調用大模型 API 實現對話功能。_spring-ai 1.0.0使用教程https://blog.csdn.net/lyh2004_08/article/details/148925217的前半部分即可
二、創建項目、導入依賴
1. 同樣,langchain4j 對于 jdk 的要求最低也是 jdk17,按照下圖操作即可
2. 導入一個 spring 的 web 依賴:
3. 項目創建完畢,按照官網教程導入 langchain4j 的 低級API(后續還有高級API)?的起步依賴(當前最新版本):
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId><version>1.1.0-beta7</version>
</dependency>
參考資料:Spring Boot 集成 | LangChain4j --- Spring Boot Integration | LangChain4j
三、配置 application.yml
隨后,在 application.yml 或 application.properties 中配置如下配置:
langchain4j:open-ai:chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 # 百煉平臺的baseUrlapi-key: ${langchain4j.api-key} # 你剛剛申請的apiKeymodel-name: qwen-plus # 你想使用的對話模型模型名log-requests: true # 是否打印請求日志log-responses: true # 是否打印響應日志
其中各項配置作用已在代碼中表明。不過顯然,langchain4j 與 SpringAI 一樣,也都可以在創建 model 時自定義配置
四、注入Bean,開箱即用
由于前進做了相關模型的配置,langchain4j 的自動裝配會為我們提供一個基于配置的默認 OpenAiChatModel,我們直接創建一個Controller,注入使用即可
package xyz.qiquqiu.lc4blogdemo.controller;import dev.langchain4j.model.openai.OpenAiChatModel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
@RequiredArgsConstructor
public class ChatController {private final OpenAiChatModel chatModel;/*** 調用百煉的大模型進行聊天(阻塞式)* @param message 用戶發送的消息,相當于提示詞prompt* @return*/@RequestMapping("/chat")public String chat(String message) {log.debug("用戶說:{}", message);return chatModel.chat(message);}
}
隨后,打開瀏覽器,訪問 chat 接口,測試效果:
五、日志觀察
由于我們配置了請求與響應時打印日志的配置:
所以我們可以結合控制臺輸出,清晰地看到請求響應的過程:
請求日志:
響應日志: