Skip to content

LangChain4j

面向 JVM 的惯用 Java 库:统一接入 LLM 与向量库,实现 RAG、工具调用(含 MCP)与 Agent。

它是做什么的

官方目标:简化在 Java 应用中集成大模型。提供商与向量库各有专有 API;LangChain4j 用统一抽象降低切换成本,并宣称支持 20+ LLM 提供商与 30+ Embedding Store。工具箱覆盖提示模板、聊天记忆、流式输出、函数调用,以及高层 AI Services、Agents、完整 RAG(摄入→切分→嵌入→检索→重排等)。

重要澄清(官方原文精神):尽管名称含 LangChain,它不是 Python LangChain 的移植。按 Java 惯用法设计(类型安全、POJO、注解、接口、依赖注入、Fluent API),并与 Quarkus、Spring Boot、Helidon、Micronaut 一等集成;API 与发布周期独立于 Python LangChain。

语言生态:Java(主),Kotlin 协程扩展;企业框架集成如上。
典型场景:客服/教育类助手、非结构化数据抽取、企业内 RAG、Agent 与工具调用。适合把 LLM 能力沉到现有 JVM 服务进程内。

要点

  • 两层抽象:底层用 ChatModelEmbeddingStore 等原语完全掌控;高层用 AI Services 声明式调用,减少样板代码。
  • RAG 可定制:文档多源导入、多种切分、查询扩展/压缩、路由、重排、RRF 等。
  • 工具与 MCP:Function calling;支持 MCP;可双向——Java 调模型,模型调你的 Java 代码。
  • 与 Spring AI:同属 Java AI 栈。LangChain4j 是独立库(可挂 Spring);Spring AI 是 Spring 官方 AI 框架,更贴 Boot 抽象与 Starter 生态。已全面 Spring 化的团队可优先评估 Spring AI;需要库级灵活、或 Quarkus / Helidon / Micronaut 等栈时,通常更直接选择 LangChain4j。

适合谁

  • 已有 Java / Spring / Quarkus 服务,要在进程内嵌 LLM,而不是另开 Python 微服务
  • 重视类型安全、依赖注入与企业框架集成
  • 需要在 JVM 上做 RAG 或 Agent,并可能接入 MCP 工具生态

官方入口

建议怎么用

先接一个 ChatModel 跑通对话与流式;再用 AI Services 或低层 API 加记忆与工具。做知识问答时严格按官方 RAG 教程走完摄入与检索,再优化切分与重排。Spring / Quarkus 用户直接用对应扩展,避免手写大量胶水配置。版本与模块坐标以 docs.langchain4j.dev 的 Get Started 为准,务必避免照抄过时的 Maven 坐标。

本站为个人非经营性学习导航。免责声明:信息仅供学习参考,不构成建议或背书;外链与第三方产品归其权利人。详情见 关于本站 · 隐私政策