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>
</dependency>
<!--langchain4j起步依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
<version>1.0.1-beta6</version>
</dependency>
yml文件:
langchain4j:
open-ai:
chat-model:
base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
api-key: ${API-KEY}
model-name: qwen-plus
注意:base-url是阿里云百炼上的url
,api-key是阿里云百炼上的key,配置在了电脑中的用户环境变量中(如果是在idea打开之后配置的,配置完成之后一定要重启idea)
controller层:
@RestController
public class ChatController {
@Resource
private OpenAiChatModel openAiChatModel;
@RequestMapping("/chat")
public String chat(String message){
String chat = openAiChatModel.chat(message)