📌 项目:langchain4j/langchain4j | 星数:13.2k(2026-09-25) | 协议:Apache-2.0 | 语言:Java | GitHub
一句话定位:"Java版LangChain——让JVM开发者用熟悉的Java集成LLM,Spring Boot无缝衔接。" LangChain4j把LangChain的理念带到Java生态,提供ChatLanguageModel、EmbeddingModel、工具调用、RAG管道和AI服务抽象,Spring Boot集成开箱即用。
LangChain4j的核心抽象:
和 OpenAI Agents SDK 的Python生态不同,LangChain4j服务Java/JVM企业开发者。
// Maven
dev.langchain4j
langchain4j
0.36.0
// Java代码
ChatLanguageModel model = OpenAiChatModel.builder()
.apiKey("sk-xxx")
.modelName("gpt-4o")
.build();
String answer = model.generate("什么是RAG?");
// 工具调用
class WeatherTools {
@Tool("获取指定城市天气")
String getWeather(String city) {
return "晴,25度";
}
}
// AI Service(声明式)
interface Assistant {
@SystemMessage("你是天气助手")
String chat(String userMessage);
}
Assistant assistant = AiServices.builder(Assistant.class)
.chatLanguageModel(model)
.tools(new WeatherTools())
.build();
assistant.chat("北京天气怎么样?");
// application.properties
langchain4j.open-ai.chat-model.api-key=sk-xxx
// Spring Boot Bean
@Bean
CustomerSupportAgent agent(ChatLanguageModel model) {
return AiServices.builder(CustomerSupportAgent.class)
.chatLanguageModel(model)
.tools(knowledgeBaseTool)
.build();
}Spring Boot starter自动配置模型、embedding store等组件,与Java企业应用无缝集成。
| ✅ 优点 | ⚠️ 不足 |
|---|---|
| Java原生,JVM企业开发者友好 | 相比Python LangChain生态稍小 |
| Spring Boot集成开箱即用 | Java启动比Python慢 |
| @Tool注解工具调用极简 | |
| AI Services声明式API优雅 | |
| Apache-2.0协议 |
核心功能(LLM集成、RAG、工具调用、Agent)对等。部分高级功能(如复杂的Agent策略)Python版领先。LangChain4j更注重企业级稳定性和Spring集成。
支持OpenAI、Anthropic、Google Vertex AI、Amazon Bedrock、本地Ollama、HuggingFace等。通过统一的ChatLanguageModel接口抽象。
可以。langchain4j-spring-boot-starter提供自动配置,只需在application.properties配置API key即可注入ChatLanguageModel等Bean。