文章目录
前言
这篇文章带你用 LangChain4j 在 Java 项目里跑起第一个 AI 对话,从零到能用只需要 20 分钟。
很多 Java 开发者想接 AI 能力,但 Python 的 LangChain 上手门槛高、又不想切语言。LangChain4j 就是为这个场景设计的——Java 原生,API 风格熟悉,直接 Maven 引入就能用。
一、LangChain4j 是什么
一句话:Java 版的 AI 应用开发框架,封装了 LLM 调用、RAG、工具调用、MCP 等常用能力。
你的 Java 代码
↓
LangChain4j(统一接口)
↓
Claude / GPT / Gemini / 本地模型
不用关心每个模型的 API 差异,换模型只改配置。
二、5分钟跑起第一个对话
第一步:加依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-anthropic</artifactId>
<version>1.0.0</version>
</dependency>
第二步:写代码
import dev.langchain4j.model.anthropic.AnthropicChatModel;
import dev.langchain4j.model.chat.ChatLanguageModel;
public class HelloAI {
public static void main(String[] args) {
ChatLanguageModel model = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName("claude-sonnet-4-6")
.build();
String answer = model.generate("用一句话解释什么是 Spring Boot");
System.out.println(answer);
}
}
第三步:设置 API Key
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
运行,完事。
三、让 AI 有"记忆"——对话历史
默认每次调用都是无状态的,AI 不记得上一句说了什么。加上 ChatMemory 就能有上下文:
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.service.AiServices;
interface Assistant {
String chat(String message);
}
public class MemoryDemo {
public static void main(String[] args) {
ChatLanguageModel model = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName("claude-sonnet-4-6")
.build();
Assistant assistant = AiServices.builder(Assistant.class)
.chatLanguageModel(model)
.chatMemory(MessageWindowChatMemory.withMaxMessages(10))
.build();
System.out.println(assistant.chat("我叫小明"));
System.out.println(assistant.chat("我叫什么名字?")); // 能答出"小明"
}
}
AiServices是 LangChain4j 的核心设计:用 Java 接口定义 AI 能力,框架帮你生成实现。
四、让 AI 调用你的方法——Tool Use
这才是 LangChain4j 的精华。你写一个 Java 方法,AI 能决定什么时候调用它:
import dev.langchain4j.agent.tool.Tool;
class WeatherTool {
@Tool("查询某个城市的天气")
public String getWeather(String city) {
// 这里接真实天气 API
return city + "今天晴,25°C";
}
}
// 注册给 AI
Assistant assistant = AiServices.builder(Assistant.class)
.chatLanguageModel(model)
.tools(new WeatherTool())
.build();
System.out.println(assistant.chat("北京今天天气怎么样?"));
// AI 会自动调用 getWeather("北京"),然后回答
用户问天气,AI 自动调你的方法,再把结果整合成回答。全自动。
五、跟 Spring Boot 集成
加一个 starter 依赖,自动配置全搞定:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
application.yml 配置:
langchain4j:
anthropic:
chat-model:
api-key: ${ANTHROPIC_API_KEY}
model-name: claude-sonnet-4-6
然后直接 @Autowired ChatLanguageModel model 注入使用,跟普通 Bean 一样。
总结
| 功能 | 用到的类 |
|---|---|
| 基础对话 | AnthropicChatModel |
| 对话记忆 | MessageWindowChatMemory |
| 接口化 AI | AiServices |
| 工具调用 | @Tool 注解 |
| Spring 集成 | starter 自动配置 |
LangChain4j 对 Java 开发者很友好,学习曲线比 Python 那套平很多。从这篇入门,下一步可以看 RAG(让 AI 读你的文档)和 MCP(接外部工具)。
下一篇:LangChain4j + MCP——让 Java AI Agent 操作本地文件系统

1万+

被折叠的 条评论
为什么被折叠?



