SpringBoot整合Langchain4j
1.什么是LangChain4j
LangChain4j 是一个 Java 版本的类 LangChain 框架,旨在帮助 Java 开发者更容易地构建基于 LLM(大语言模型)的应用程序,比如智能问答、聊天机器人、搜索增强生成(RAG)等。很多初学者搞不懂LangChain4j、Spring AI、Spring Cloud Alibaba AI都分别是干什么的,以及有什么作用和区别,以下是AI展示,可直观的展现出来
特性/框架 | LangChain4j | Spring AI | Spring Cloud Alibaba AI |
---|---|---|---|
所属组织 | 社区开源 | Spring 官方 | 阿里云官方 |
模型支持 | 多种模型(OpenAI、Qianfan、Claude 等) | OpenAI、Azure、HuggingFace、百度千帆等 | 阿里云百炼、通义千问 |
是否支持 Agent | ✅ 支持 Agent/Memory/Chain 等概念 | ❌ 暂不支持 Agent | ✅ 支持 Agent 模型 |
Prompt 模板 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
向量检索/文档问答(RAG)支持 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
对接方式 | 注解式 + 接口式(@AiService) | 注入式(ChatClient) | 注入式(BailianClient) |
与微服务整合 | ⚠️ 弱(可自行扩展) | ✅ 强 | ✅ 非常强(天然集成 SpringCloud Alibaba) |
功能复杂度 | ⭐⭐⭐⭐(偏开发者) | ⭐⭐⭐(对用户友好) | ⭐⭐⭐⭐(偏企业应用) |
适合场景 | 自定义复杂智能体/工具调用/文档问答等 | 快速接入大模型能力 | 企业微服务中使用阿里云 AI 能力 |
1.1 整合LangChain4j需要什么环境
Spring3.0以上,jdk版本17以上
2.相关依赖介绍
2.1:langchain4j-open-ai-spring-boot-starter
<!--langchain4j起步依赖--><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId><version>1.0.1-beta6</version></dependency>
2.2: langchain4j-spring-boot-starter
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-spring-boot-starter</artifactId><version>1.1.0-beta7</version>
</dependency>
✅ 1. 快速接入 LangChain4j 功能
该 starter 提供了开箱即用的自动配置支持,方便你在 Spring Boot 项目中使用 LangChain4j 实现 AI 助手、Agent、对话模型调用、链式调用、记忆管理、工具调用等功能。
✅ 2. 简化配置和开发
无需手动配置 Bean、Client,只需要少量注解(如 @AiService
)即可快速声明 AI 服务。
✅ 3. 集成常见的 LLM 服务
自动支持接入多个大型语言模型(LLM)提供商,包括:
-
OpenAI(gpt-3.5 / 4)
-
Azure OpenAI
-
Ollama / Local LLM
-
Langchain4j Memory、Tool、Retrieval 等核心组件
✅ 4. 自动扫描和注入 AI Service
通过 @AiService
注解,你可以像写普通接口一样声明 AI 能力,LangChain4j 会自动为你生成代理对象调用 AI 模型
3. Spring整合Langchain4j
pom文件:
<dependencies><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>