LangChain4j教程:13.2k星Java版LangChain,JVM生态LLM应用框架

📌 项目: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集成开箱即用。

☕ Java原生LLM集成

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("北京天气怎么样?");

🌱 Spring Boot集成

// 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协议

📚 常见问题

LangChain4j和Python LangChain功能对等吗?

核心功能(LLM集成、RAG、工具调用、Agent)对等。部分高级功能(如复杂的Agent策略)Python版领先。LangChain4j更注重企业级稳定性和Spring集成。

支持哪些LLM提供商?

支持OpenAI、Anthropic、Google Vertex AI、Amazon Bedrock、本地Ollama、HuggingFace等。通过统一的ChatLanguageModel接口抽象。

能和Spring Boot集成吗?

可以。langchain4j-spring-boot-starter提供自动配置,只需在application.properties配置API key即可注入ChatLanguageModel等Bean。