LangChain4j 集成 SpringBoot 快速开始
英文官网:https://docs.langchain4j.dev/get-started中文官网:https://docs.langchain4j.info/get-startedJDK 最低要求:17。
·
一、环境准备
英文官网:https://docs.langchain4j.dev/get-started
中文官网:https://docs.langchain4j.info/get-started
JDK 最低要求:17

二、创建 SpringBoot 项目
2.1、创建一个 Maven 项目

2.2、添加 SpringBoot 相关依赖
在 pom.xml 的节点下添加如下依赖:
<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应用程序核心依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 编写和运行测试用例 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 前后端分离中的后端接口测试工具 -->
<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、创建配置文件
在 resources下创建配置文件 application.yml
server:
port: 8080
2.4、创建启动类
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、启动启动类
访问 http://localhost:8080/doc.html 查看程序能否成功运行并显示如下页面

三、接入大模型
参考文档: Get Started https://docs.langchain4j.dev/get-started
3.1、添加 LangChain4j 相关依赖
<properties>
<langchain4j.version>1.3.0</langchain4j.version>
</properties>
<dependencies>
<!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 -->
<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、创建测试用例
接入任何一个大模型都需要先去申请 apiKey。
如果你暂时没有密钥,也可以使用 LangChain4j 提供的演示密钥,这个密钥是免费的,有使用配额限制,且仅限于 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语言模型接入测试
*/
@Test
public void testGPTDemo() {
//初始化模型
OpenAiChatModel model = OpenAiChatModel.builder()
// LangChain4j提供的代理服务器,该代理服务器会将演示密钥替换成真实密钥,再将请求转发给 OpenAI API
.baseUrl("http://langchain4j.dev/demo/openai/v1") //设置模型api地址
.apiKey("demo") //设置模型apiKey
.modelName("gpt-4o-mini") //设置模型名称
.build();
// 向模型提问
String answer = model.chat("你好");
// 输出结果
System.out.println(answer);
}
}

四、SpringBoot 整合
参考文档:https://docs.langchain4j.dev/tutorials/spring-boot-integration
4.1、替换依赖
将 langchain4j-open-ai 替换成 langchain4j-open-ai-spring-boot-starter
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
</dependency>
4.2、配置模型参数
langchain4j:
open-ai:
chat-model:
# langchain4j测试模型
api-key: demo
model-name: gpt-4o-mini
base-url: http://langchain4j.dev/demo/openai/v1
# 请求和响应日志
log-requests: true
log-responses: true
# 启用日志debug级别
logging:
level:
root: debug
4.3、创建测试用例
/**
* 整合SpringBoot
*/
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
public void testSpringBoot() {
// 向模型提问
String answer = openAiChatModel.chat("你是谁?");
// 输出结果
System.out.println(answer);
}

更多推荐



所有评论(0)