健康小智(医疗版)
前置知识
- Java基础
- Maven
- MySQL
-
MyBatis-Plus
- SpringBoot
一、LangChain4j 入门
1、简介
LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程。
1.1、历史背景
2022 年11月30日OpenAI发布了Chat GPT(GPT-3.5)
早在 2022 年10月,Harrison Chase 发布了基于Python的LangChain。
随后同时包含了Python版和JavaScript(LangChain.js)版的LangChain 也发布了。
2023 年 11 月,Quarkus 发布了 LangChain4j 的 0.1 版本,2025 年 2 月发布了 1.0 - Beta1 版本,4 月发布了 1.0 - Beta4 版本
官网:https://docs.langchain4j.dev
1.2、主要功能
与大型语言模型和向量数据库的便捷交互
通过统一的应用程序编程接口(API),可以轻松访问所有主要的商业和开源大型语言模型以及向量数据库,使你能够构建聊天机器人、智能助手等应用。
专为 Java 打造
借助Spring Boot 集成,能够将大模型集成到ava 应用程序中。大型语言模型与 Java 之间实现了双向集成:你可以从 Java 中调用大型语言模型,同时也允许大型语言模型反过来调用你的 Java 代码
智能代理、工具、检索增强生成(RAG)
为常见的大语言模型操作提供了广泛的工具,涵盖从底层的提示词模板创建、聊天记忆管理和输出解析,到智能代理和检索增强生成等高级模式。
1.3、应用示例
- 你想要实现一个自定义的由人工智能驱动的聊天机器人,它可以访问你的数据,并按照你期望的方式运行:
-
客户支持聊天机器人,它可以:
-
礼貌地回答客户问题
-
-
处理 / 更改 / 取消订单
-
教育助手,它可以:
-
教授各种学科
-
- 解释不清楚的部分
- 评估用户的理解 / 知识水平
- 你想要处理大量的非结构化数据(文件、网页等),并从中提取结构化信息。例如:
- 从客户评价和支持聊天记录中提取有效评价
- 从竞争对手的网站上提取有趣的信息
- 从求职者的简历中提取有效信息
- 你想要生成信息,例如:
- 为你的每个客户量身定制的电子邮件
- 为你的应用程序 / 网站生成内容:
- 博客文章
- 故事
- 你想要转换信息,例如:
- 总结
- 校对和改写
- 翻译
2、创建SpringBoot项目
2.1、创建一个Maven项目
demo-langchain4j

2.2、添加SpringBoot相关依赖
在pom.xml的 节点下填加如下依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>server-ai-demo</artifactId>
<groupId>com.shenma</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>demo-langchain4j</artifactId>
<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.5.9</spring-boot.version>
<knife4j.version>4.3.0</knife4j.version>
<langchain4j.version>1.0.0-beta3</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>
<!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
</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>
</project>
2.3、创建配置文件
在resources下创建配置文件application.properties
# web服务访问端口
server.port=8080
2.4、创建启动类
package com.shenma;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoLangChain4JApplication {
public static void main(String[] args) {
SpringApplication.run(DemoLangChain4JApplication.class, args);
}
}
2.5、启动启动类
访问 http://localhost:8080/doc.html 查看程序能否成功运行并显示如下页面

3、接入大模型
- 参考文档: Get Startedhttps://docs.langchain4j.dev/get-started
3.1、LangChain4j 库结构
LangChain4j 具有模块化设计,包括:
- langchain4j-core 模块,它定义了核心抽象概念(如聊天语言模型和嵌入存储)及其 API。
- 主 langchain4j 模块,包含有用的工具,如文档加载器、聊天记忆实现,以及诸如人工智能服务等高层功能。
- 大量的 langchain4j-{集成} 模块,每个模块都将各种大语言模型提供商和嵌入存储集成到 LangChain4j 中。你可以独立使用 langchain4j-{集成} 模块。如需更多功能,只需导入主 langchain4j 依赖项即可。
3.2、添加LangChain4j相关依赖
<properties>
<langchain4j.version>1.0.0-beta3</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.3、创建测试用例
接入任何一个大模型都需要先去申请apiKey。
如果你暂时没有密钥,也可以使用LangChain4j 提供的演示密钥,这个密钥是免费的,有使用配额限制,且仅限于 gpt-4o-mini 模型。
package com.shenma;
import dev.langchain4j.model.openai.OpenAiChatModel;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
/**
* @author 军哥
* @version 1.0
* @description: TODO
* @date 2026/3/24 14:42
*/
@SpringBootTest
public class testGPTDemo {
/**
* gpt-4o-mini语言模型接入测试
*/
@Test
public void testGPTDemo(){
//初始化模型
OpenAiChatModel model = OpenAiChatModel.builder()
//LangChain4j提供的代理服务器,该代理服务器会将演示密钥替换成真实密钥, 再将请求转发给OpenAI API
.baseUrl("http://langchain4j.dev/demo/openai/v1")
.apiKey("demo") //设置模型apiKey
.modelName("gpt-4o-mini") //设置模型名称
.build();
//向模型提问
String answer = model.chat("你好");
//输出结果
System.out.println(answer);
}
}
运行测试单元结果如下:

4、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测试模型
langchain4j.open-ai.chat-model.base-url=http://langchain4j.dev/demo/openai/v1
langchain4j.open-ai.chat-model.api-key=demo
langchain4j.open-ai.chat-model.model-name=gpt-4o-mini
#请求和响应日志
langchain4j.open-ai.chat-model.log-requests=true
langchain4j.open-ai.chat-model.log-responses=true
#启用日志debug级别
logging.level.root=debug
4.3、创建测试用例
package com.shenma;
import dev.langchain4j.model.openai.OpenAiChatModel;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
/**
* @author 军哥
* @version 1.0
* @description: TODO
* @date 2026/3/24 15:15
*/
@SpringBootTest
public class TestGptBootDemo {
/**
* 整合SpringBoot
*/
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
public void testSpringBoot() {
//向模型提问
String answer = openAiChatModel.chat("你好");
//输出结果
System.out.println(answer);
}
}