LangChain4j 集成 SpringBoot的項(xiàng)目實(shí)踐
一、環(huán)境準(zhǔn)備
英文官網(wǎng):https://docs.langchain4j.dev/get-started
中文官網(wǎng):https://docs.langchain4j.info/get-started
JDK 最低要求:17

二、創(chuàng)建 SpringBoot 項(xiàng)目
2.1、創(chuàng)建一個(gè) Maven 項(xiàng)目

2.2、添加 SpringBoot 相關(guān)依賴
在 pom.xml 的節(jié)點(diǎn)下添加如下依賴:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot.version>3.2.6</spring-boot.version>
<knife4j.version>4.3.0</knife4j.version>
<!-- 截至 2025-08-22 是 1.3.0 -->
<langchain4j.version>1.3.0</langchain4j.version>
<mybatis-plus.version>3.5.11</mybatis-plus.version>
</properties>
<dependencies>
<!-- web應(yīng)用程序核心依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 編寫和運(yùn)行測(cè)試用例 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 前后端分離中的后端接口測(cè)試工具 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!--引入SpringBoot依賴管理清單-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>2.3、創(chuàng)建配置文件
server: port: 8080
2.4、創(chuàng)建啟動(dòng)類
package com.study;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}2.5、啟動(dòng)啟動(dòng)類
訪問 http://localhost:8080/doc.html 查看程序能否成功運(yùn)行并顯示如下頁面

三、接入大模型
參考文檔: Get Started https://docs.langchain4j.dev/get-started
3.1、添加 LangChain4j 相關(guān)依賴
<properties>
<langchain4j.version>1.3.0</langchain4j.version>
</properties>
<dependencies>
<!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai標(biāo)準(zhǔn)下的大模型 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!--引入langchain4j依賴管理清單-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bom</artifactId>
<version>${langchain4j.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>3.2、創(chuàng)建測(cè)試用例
接入任何一個(gè)大模型都需要先去申請(qǐng) apiKey。
如果你暫時(shí)沒有密鑰,也可以使用 LangChain4j 提供的演示密鑰,這個(gè)密鑰是免費(fèi)的,有使用配額限制,且僅限于 gpt-4o-mini 模型。

package com.study;
import dev.langchain4j.model.openai.OpenAiChatModel;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class LLMTest {
/**
* gpt-4o-mini語言模型接入測(cè)試
*/
@Test
public void testGPTDemo() {
//初始化模型
OpenAiChatModel model = OpenAiChatModel.builder()
// LangChain4j提供的代理服務(wù)器,該代理服務(wù)器會(huì)將演示密鑰替換成真實(shí)密鑰,再將請(qǐng)求轉(zhuǎn)發(fā)給 OpenAI API
.baseUrl("http://langchain4j.dev/demo/openai/v1") //設(shè)置模型api地址
.apiKey("demo") //設(shè)置模型apiKey
.modelName("gpt-4o-mini") //設(shè)置模型名稱
.build();
// 向模型提問
String answer = model.chat("你好");
// 輸出結(jié)果
System.out.println(answer);
}
}
四、SpringBoot 整合
參考文檔:https://docs.langchain4j.dev/tutorials/spring-boot-integration
4.1、替換依賴
<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId> </dependency>
4.2、配置模型參數(shù)
langchain4j:
open-ai:
chat-model:
# langchain4j測(cè)試模型
api-key: demo
model-name: gpt-4o-mini
base-url: http://langchain4j.dev/demo/openai/v1
# 請(qǐng)求和響應(yīng)日志
log-requests: true
log-responses: true
# 啟用日志debug級(jí)別
logging:
level:
root: debug4.3、創(chuàng)建測(cè)試用例
/**
* 整合SpringBoot
*/
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
public void testSpringBoot() {
// 向模型提問
String answer = openAiChatModel.chat("你是誰?");
// 輸出結(jié)果
System.out.println(answer);
}
到此這篇關(guān)于LangChain4j 集成 SpringBoot的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)LangChain4j 集成 SpringBoot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java或kafka_tool連接不上虛擬機(jī)的kafka問題及解決
文章介紹了如何配置防火墻端口、修改config/server.properties文件以及配置kafka_tool,并分享了個(gè)人經(jīng)驗(yàn)2026-01-01
java實(shí)現(xiàn)微信公眾號(hào)發(fā)送模版消息
這篇文章以訂單推送為例,主要為大家詳細(xì)介紹了java實(shí)現(xiàn)微信公眾號(hào)發(fā)送模版消息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
SpringBoot松散綁定/寬松綁定(Relaxed Binding)的實(shí)現(xiàn)
本文主要介紹了SpringBoot松散綁定/寬松綁定(Relaxed Binding)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
實(shí)例解析Java單例模式編程中對(duì)抽象工廠模式的運(yùn)用
這篇文章主要介紹了實(shí)例解析Java單例模式編程中對(duì)抽象工廠模式的運(yùn)用,抽象工廠模式可以看作是工廠方法模式的升級(jí)版,本需要的朋友可以參考下2016-02-02
Spring?Boot實(shí)現(xiàn)第一次啟動(dòng)時(shí)自動(dòng)初始化數(shù)據(jù)庫流程詳解
在現(xiàn)在的后端開發(fā)中,只要是使用關(guān)系型數(shù)據(jù)庫,相信SSM架構(gòu)(Spring?Boot?+?MyBatis)已經(jīng)成為首選,本文就以Spring?Boot?+?MyBatis為例,使用MySQL作為數(shù)據(jù)庫,完成數(shù)據(jù)庫初始化功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05

