
LangChain4j 项目深度解读在 JVM 上用惯用 Java 构建 LLM 应用的统一框架【免费下载链接】langchain4jLangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j本文围绕开源仓库 README.md 的核心内容展开系统解读 LangChain4j 的项目定位、设计理念、仓库结构、核心 API 与快速上手路径。读者读完本文将掌握 LangChain4j 的模块化架构、统一模型与向量存储抽象、AI Services 高阶封装以及它在 Quarkus、Spring Boot 等企业级 Java 框架中的集成方式可直接据此评估并开始构建自己的 LLM 应用。上图展示了 LangChain4j 的组件分层上层是 Chains 与 AI ServicesBasics 层包含语言模型、提示词模板、输出解析器与记忆RAG 层则覆盖文档加载、文档切分、嵌入模型与嵌入存储。项目定位为 JVM 而生的 LLM 集成库LangChain4j 的目标非常明确简化将大语言模型LLM集成进 Java 应用程序的过程。从 README 开篇即可看到它的核心承诺是让 Java 开发者以惯用idiomatic的方式构建 LLM 应用而不是被迫模仿 Python 生态的写法。README 特别强调了一个关键事实值得每一位读者注意Despite the name, LangChain4j is not a Java port of LangChain (Python) — it is built for Java, not ported to it.即尽管名字中含有 LangChainLangChain4j并不是 Python 版 LangChain 的 Java 移植。它是一个围绕 Java 约定类型安全、POJO、注解、接口、依赖注入、流式 API从零设计的原生 Java 库其 API、内部实现与发布节奏均独立于 Python 的 LangChain 项目。这一点对于架构选型评估非常重要——你拿到的是一个面向 JVM 生态深度优化的库而非简单的语言翻译。三大核心设计支柱README 将 LangChain4j 的设计哲学概括为三点这也是理解整个仓库结构的钥匙。1. 统一 API屏蔽各家厂商差异LLM 提供商如 OpenAI、Google Vertex AI与嵌入/向量存储如 Pinecone、Milvus各自使用专有 APILangChain4j 通过统一 API 屏蔽这些差异使开发者无需为每家厂商学习并实现各自特有的 API。想更换底层模型或向量库时只需切换依赖业务代码基本无需重写。据 README 声明LangChain4j 当前支持 20 主流 LLM 提供商与 30 嵌入存储。从仓库根目录的 pom.xml 中的模块清单可以看到这一承诺的落地形态模型提供商模块langchain4j-open-ai、langchain4j-anthropic、langchain4j-azure-open-ai、langchain4j-bedrock、langchain4j-cohere、langchain4j-google-ai-gemini、langchain4j-google-genai、langchain4j-vertex-ai、langchain4j-vertex-ai-gemini、langchain4j-mistral-ai、langchain4j-ollama、langchain4j-hugging-face、langchain4j-local-ai、langchain4j-watsonx、langchain4j-ovh-ai、langchain4j-jina、langchain4j-nomic、langchain4j-voyage-ai、langchain4j-workers-ai等嵌入/向量存储模块langchain4j-pinecone、langchain4j-milvus、langchain4j-milvus-v2、langchain4j-qdrant、langchain4j-weaviate、langchain4j-elasticsearch、langchain4j-opensearch、langchain4j-pgvector、langchain4j-chroma、langchain4j-azure-ai-search、langchain4j-azure-cosmos-nosql、langchain4j-mongodb-atlas、langchain4j-cassandra、langchain4j-oracle、langchain4j-mariadb、langchain4j-vespa、langchain4j-tablestore、langchain4j-coherence、langchain4j-couchbase、langchain4j-infinispan等进程内嵌入模型embeddings/langchain4j-embeddings-all-minilm-l6-v2、langchain4j-embeddings-bge-small-zh-v15、langchain4j-embeddings-e5-small-v2等系列可在本地直接完成向量化。每个集成均为独立 Maven 模块按需引入互不干扰。2. 综合工具箱从底层原语到高层模式自 2023 年初以来社区构建了大量 LLM 应用沉淀出通用抽象、模式与技巧。LangChain4j 将这些沉淀提炼为可落地的代码形成覆盖面极广的“工具箱”底层能力提示词模板Prompt Templating、对话记忆管理Chat Memory、函数调用Function Calling高层模式智能体Agents、检索增强生成RAG覆盖从数据摄取到检索的完整流水线对每个抽象仓库都提供了接口 基于常见技术的多个开箱即用实现。从 langchain4j-core 的包结构可以直观看到这些抽象在源码层的组织model模型、agent智能体与工具、data文档加载/切分/解析、rag检索增强、store嵌入存储、memory记忆、webWeb 搜索、code代码执行等而 langchain4j/src/main/java/dev/langchain4j 则承载了serviceAI Services、chain链式调用、classification文本分类、memory/chat对话记忆实现等高阶封装。3. 大量示例快速上手的最佳路径README 单独列出了 langchain4j-examples 示例仓库独立仓库不在当前仓库内覆盖纯 Java、Quarkus、Spring Boot、Helidon、Micronaut 等多种形态帮助开发者快速获得灵感并启动项目。当前仓库内的 docs/docs 目录同样沉淀了成套文档get-started.md快速开始、tutorials/涵盖 AI Services、Agents、RAG、工具调用、响应式流、可观测性、非阻塞等主题、integrations/各模型与存储的集成说明。快速上手依赖引入与最低环境要求仓库内文档 docs/docs/get-started.md 给出了清晰的入门路径最低 JDK 版本为 17每个集成对应一个独立的 Maven 依赖按需引入。以 OpenAI 为例Maven 方式在pom.xml中声明dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version1.20.0/version /dependency若需要使用高层的AI ServicesAPI还需引入聚合主模块dependency groupIddev.langchain4j/groupId artifactIdlangchain4j/artifactId version1.20.0/version /dependencyGradle 方式则对应为implementation dev.langchain4j:langchain4j-open-ai:1.20.0 implementation dev.langchain4j:langchain4j:1.20.0使用 BOM 统一版本管理当引入多个模块时推荐通过 Bill of MaterialsBOM统一版本。仓库根目录的 pom.xml 中声明了langchain4j-bom模块get-started 文档给出了其用法dependencyManagement dependencies dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-bom/artifactId version1.20.0/version typepom/type scopeimport/scope /dependency /dependencies /dependencyManagement需要说明的是源自 get-started 文档的注意事项langchain4j-bom始终包含所有 LangChain4j 模块的最新版本由于部分模块仍处于 beta 版本如当前仓库 pom 中langchain4j.stable.version为1.21.0-SNAPSHOT、langchain4j.beta.version为1.21.0-beta31-SNAPSHOT这些模块后续可能存在破坏性变更breaking changes生产使用前应关注版本演进。对于希望尝鲜最新特性的开发者get-started 文档还提供了 SNAPSHOT 依赖的使用说明从 Maven Central 的 SNAPSHOT 仓库拉取每日构建版本。源码级解析统一 API 在代码中如何呈现ChatModel对话模型的核心契约统一 API 的底层基石之一是 ChatModel 接口。从源码可见它以ChatRequest作为统一入参、以ChatResponse作为统一出参并提供了一系列便捷重载chat(ChatRequest)核心入口执行对话请求chat(String userMessage)字符串消息的便捷版本内部构造UserMessage并返回文本结果chat(ChatMessage...)/chat(ListChatMessage)多消息含历史上下文的便捷版本chatAsync(...)自 1.20.0 起提供的非阻塞异步版本返回CompletableFuture。这种“一个接口 多个默认实现 便捷重载”的设计正是 README 所强调的“为每个抽象提供接口与多个开箱即用实现”的直接体现——无论底层是 OpenAI、Anthropic 还是本地 Ollama业务代码面对的都是同一个ChatModel契约。OpenAiChatModel厂商实现的典型范式以 OpenAiChatModel 为例可以看到厂商适配层的典型结构通过 builder 模式收集apiKey、modelName支持字符串与枚举OpenAiChatModelName等参数再在构造时统一装配。这意味着更换模型供应商时只需把OpenAiChatModel.builder().apiKey(...).modelName(...).build()换成对应厂商的构造器上层调用代码保持不变——这正是“无需重写业务代码即可切换模型”这一承诺的落地方式。AI Services把 LLM 调用变成接口方法README 提到 LangChain4j 提供从底层提示词模板到高层 Agents/RAG 的完整工具箱而 AI Services 正是其中最具特色的高阶抽象。AiServices 位于聚合模块langchain4j中其源码约 1360 行展示了它如何把“接口 注解”变成可运行的 LLM 服务AiServices.create(ClassT aiService, ChatModel chatModel)基于接口与模型创建 AI Service 实例AiServices.create(ClassT aiService, StreamingChatModel streamingChatModel)流式版本同时支持通过builder链式装配ChatMemory记忆、ToolProvider/Tool工具调用、RetrievalAugmentorRAG 检索增强、ContentRetriever内容检索器、InputGuardrail/OutputGuardrail输入输出护栏、ModerationModel内容审核、AiServiceListener可观测性监听等能力。这种设计让开发者定义一个带注解的 Java 接口即可获得结构化输出解析、对话记忆自动管理、工具调用自动编排、RAG 上下文自动注入等一系列能力而无需手写冗长的提示词拼接与调用循环。工具调用方面service/tool包下的ToolExecutor、ToolProvider、BeforeToolExecution、ToolExecutionErrorHandler等类型构成了完整的工具执行与错误处理链路配合langchain4j-mcp模块还可接入 MCPModel Context Protocol生态。嵌入式模型与向量存储RAG 的本地闭环对于需要完全本地化推理的场景仓库提供了langchain4j-embeddings-all-minilm-l6-v2、langchain4j-embeddings-bge-small-zh-v15等进程内嵌入模型模块以及InMemoryEmbeddingStore见 langchain4j/src/main/java/dev/langchain4j/store/embedding/inmemory/InMemoryEmbeddingStore.java可以在不依赖任何外部服务的情况下跑通“文本 → 向量 → 相似度检索”的完整 RAG 闭环非常适合本地开发与原型验证。仓库全景模块化多仓库架构从根 pom.xml 的modules声明可以完整还原这个多模块仓库的组织方式当前版本为1.21.0-beta31-SNAPSHOT分类典型模块核心langchain4j-core392 个源码文件、langchain4j、langchain4j-bom、langchain4j-kotlinKotlin 扩展、langchain4j-test模型提供商langchain4j-open-ai、langchain4j-open-ai-official、langchain4j-anthropic、langchain4j-google-ai-gemini、langchain4j-vertex-ai等 20嵌入存储langchain4j-pinecone、langchain4j-milvus-v2、langchain4j-pgvector、langchain4j-qdrant、langchain4j-elasticsearch等 30文档处理document-loaders/S3、GitHub、Playwright、Selenium 等加载器、document-parsers/PDFBox、POI、Tika、Markdown、YAML、document-transformers/jsoupAgenticlangchain4j-agentic、langchain4j-agentic-mcp、langchain4j-agentic-patterns、langchain4j-agentic-a2a、langchain4j-skills、langchain4j-mcp、langchain4j-mcp-dockerHTTP 客户端langchain4j-http-client JDK/Apache/OkHttp 三种实现可观测性langchain4j-observation、langchain4j-micrometer-metrics代码执行code-execution-engines/GraalVM Polyglot、Judge0、Azure ACADS实验特性experimental/SQL、Hibernate、Shell Skills另外注意 pom.xml 中的两个 JDK 条件 profilelangchain4j-jlama需要 JDK 21langchain4j-gpu-llama3需要 JDK 25说明部分模块对运行环境有额外要求引入前需确认自己的 JDK 版本。企业级框架集成Java 生态的一等公民README 明确指出LangChain4j 与 Quarkus、Spring Boot、Helidon、Micronaut 等企业级 Java 框架提供一等公民first-class集成这是它区别于 Python 生态库的重要特性。仓库内 docs/docs/tutorials 目录对应提供了quarkus-integration.md、spring-boot-integration.md、helidon-integration.md、micronaut-integration.md、payara-micro-integration.md等教程文档分别说明各框架下的依赖引入与配置方式。示例项目方面均在独立的示例仓库中Quarkus 示例使用quarkus-langchain4j依赖Spring Boot 示例位于 langchain4j-examples 仓库Helidon 示例使用io.helidon.integrations.langchain4j依赖Micronaut 示例使用micronaut-langchain4j依赖。这意味着你可以直接在自己熟悉的框架里以声明式方式使用 LangChain4j 的全部能力。社区与贡献README 为使用者提供了完整的社区路径文档仓库内 docs/docs 为 Docusaurus 站点源码覆盖 get-started、tutorials、integrations 三大板块另有实验性的文档问答机器人获取帮助通过 Discord 社区与 GitHub Discussions 提问请求功能通过 GitHub Issues 提交功能需求贡献指南详见仓库内的 CONTRIBUTING.md代码规范方面还提供了 detekt.ymlKotlin 静态分析与check-split-packages.sh包分片检查等工程化工具。总结LangChain4j 的定位清晰且务实一个为 JVM 生态从零设计的 LLM 集成库用统一 API 抹平厂商差异用完整工具箱覆盖从提示词模板到 Agents/RAG 的全栈需求用一等公民式集成拥抱 Java 企业级框架并配套大量示例与文档降低上手门槛。README 中那句“核心功能已就绪你现在就可以开始构建 LLM 应用”并非虚言——从仓库中 130 模块、数千个源码与测试文件可以看出这个项目正处于快速演进之中适合作为 JVM 侧 LLM 应用的技术选型起点。【免费下载链接】langchain4jLangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考