资讯动态

从一个 HelloWorld 到 49 个示例模块:LangChain4j 在 Java LLM 应用开发中的完整实践路径

发布时间:2026/10/23 5:56:59 来源:尧图企业网站定制
从一个 HelloWorld 到 49 个示例模块LangChain4j 在 Java LLM 应用开发中的完整实践路径【免费下载链接】langchain4j-examples项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j-exampleslangchain4j-examples 是 LangChain4j 框架的官方示例仓库把在 Java 项目里接入大语言模型这件事拆成了 49 个可直接运行的示例模块从几十行的 HelloWorld到带记忆和工具调用的客户支持 Agent再到 RAG 的十种进阶技巧和多 Agent 编排工作流。如果你打算给现有 Java 系统接 LLM 能力或者第一次接触 Java 生态的 LLM 开发框架这个仓库几乎覆盖了你会遇到的每一类落地问题而且每个问题都有对应的可运行代码。克隆仓库并理解示例的运行方式先克隆仓库git clone https://gitcode.com/GitHub_Trending/la/langchain4j-examples整个仓库是一个 Maven 多模块工程根目录的 pom.xml 聚合了所有子模块。每个示例模块都是独立可编译的工程大多数示例只需要在 tutorials/src/main/java/ApiKeys.java 这类文件里配置好模型服务的 API Key就能在 IDE 里直接运行 main 方法。tutorials/README.md 还给出了一条进阶路线用 complete profile 打一个带全部依赖的 jar把示例作为普通 Java 程序运行同一套代码也支持 GraalVM native-image 编译成原生可执行文件。也就是说你在这里看到的调用方式和最终部署到生产环境的形态是一致的。跑通第一个示例从 _00_HelloWorld 开始的编号教程建议的起点是 tutorials/ 模块。它按_00到_12的数字编号递进每个文件对应一个概念难度曲线很平缓_00_HelloWorld.java 只做一件事——用 builder 构建一个 OpenAiChatModel调一次 chat 方法把回答打印出来。看完它你就知道 LangChain4j 最底层的模型调用长什么样。往后编号推进内容依次覆盖模型参数、提示词模板_03_PromptTemplate.java、流式输出_04_Streaming.java、对话记忆_05_Memory.java、few-shot 示例以及 AI Service 的几种形态_08_AIServiceExamples.java。这里的 AI Service 是 LangChain4j 的核心抽象你只定义一个 Java 接口并加上注解框架用动态代理提供实现模型、消息拼装、记忆、输出解析这些细节全部被隐藏。这个模式在仓库后面的 RAG、Agent 示例里会反复出现先把 _00_HelloWorld.java 跑通后面读代码会快很多。49 个示例模块的目录分工按需求快速定位跑通入门之后值得花十分钟把顶层目录的分工看一遍后面找示例就不用翻找。整体可以分成五类教程类tutorials/ 的编号教程、other-examples/ 的功能点合集适合逐个啃读。专题类rag-examples/ 专攻检索增强生成agentic-tutorial/ 专攻多 Agent 工作流customer-support-agent-example/ 是一个完整的综合案例。模型接入类open-ai-examples、anthropic-examples、azure-open-ai-examples、google-ai-gemini-examples、vertex-ai-gemini-examples、mistral-ai-examples、bedrock-examples、ollama-examples、jlama-examples、ovh-ai-examples、watsonx-ai-examples 等覆盖各家云端和本地推理模型换供应商时来这里抄调用姿势。向量数据库类qdrant、chroma、pgvector、milvus、redis、weaviate、neo4j、elasticsearch、opensearch、hibernate、infinispan、oracle、couchbase、google-alloydb、vespa、jvector、yugabytedb、s3-vectors 等每个目录都是一个 EmbeddingStore 的接入示例RAG 落地到存储层时直接对号入座。框架集成类spring-boot-example、spring-boot4-example、javafx-example、helidon-examples、quarkus-example、wildfly-example、jakartaee-microprofile-example、payara-micro-example演示 LangChain4j 如何嵌进不同的 Java 应用形态。另外 mcp-example/ 和 mcp-github-example/ 展示了通过 MCP 协议挂载外部工具服务stdio 与 HTTP 两种方式属于工具生态的延伸用法。给 Java 系统接入 LLMSpring Boot 与服务端框架的集成方式如果你的目标是 Web 服务首选看 spring-boot-example/。它的结构很标准Assistant.java 是一个标注了 AiService 的接口AssistantConfiguration.java 负责装配 ChatModel 和 Memory BeanAssistantController.java 暴露 REST 端点。同目录还有 StreamingAssistant 演示流式接口lowlevel 包里的 ChatModelController 则展示了不经过 AI Service、直接操作 ChatModel 的写法。MyChatModelListener 演示了模型调用的可观测钩子。需要跟进 Spring Boot 4 的可以对照 spring-boot4-example/两者代码几乎同构。桌面端和传统企业容器也有覆盖javafx-example/ 用 JavaFX 绑定把模型的流式回答实时渲染进界面并保存完整对话记忆是构建 LLM 桌面应用的现成骨架运行需要带 JavaFX 的 JDK比如 Zulu 21.fx。helidon-examples/ 分别提供 MicroProfile 和 SE 两种风格的咖啡点单助手展示了把菜单 JSON 摄取成 RAG 语料库再回答点餐问题的微服务形态。wildfly-example/ 通过 SseResource 把流式响应以 SSE 推给浏览器quarkus-example/ 演示了带评估环节的 PR 分诊服务。RAG 示例的四个层次从检索到生成再到十种进阶技巧rag-examples/ 是按检索策略分层组织的读的时候建议按目录顺序来_1_easy/ 用最少代码演示文档切分—向量化—入库—检索—拼 prompt—生成的完整闭环_2_naive/ 在此基础上处理了真实语料文档加载器、元数据的摄入细节_3_advanced/ 是精华十个文件各演示一种进阶手段——查询压缩、查询路由、重排序、元数据过滤、跳过无意义检索、多检索器并行、联网搜索、返回来源标注、SQL 数据库检索器等_4_low_level/ 则剥开 AI Service 这层封装展示手动管理检索器和内容注入的全过程适合想弄清底层发生什么的读者。每个示例都复用同一个 shared/Assistant.java 接口只有一个 answer 方法差别全在实现侧的装配方式上。这个写法本身就是一个值得借鉴的设计AI 能力被收敛成一个普通 Java 接口方便作为 Bean 集成、也方便在测试里 mock。Java 多 Agent 工作流的九级进阶从单 Agent 到监督者编排agentic-tutorial/ 是仓库里体系感最强的部分围绕招聘筛选简历这个业务场景领域模型见 Cv.java从简单到复杂排了九级基础 Agent字符串输出与结构化输出两版、顺序工作流无类型与强类型两版、循环工作流带退出条件进阶版含状态跟踪与失败处理、并行工作流多个评审 Agent 并发跑再聚合结果、条件工作流按评分分支另有异步非阻塞版本、组合工作流嵌套复用子流程、监督者编排一个 supervisor 调度下属 Agent含基础与高级两版、非 AI Agent确定性操作混入 Agent 体系以及人机协同人工校验环节、带记忆的目标导向聊天机器人。模块自带的 README.md 列出了每个文件解决的具体问题比如延迟优化、输出聚合、Agent 使用工具与 RAG 等可以按图索骥。工具调用、记忆管理与流式输出other-examples 的完整演练tutorials/ 只触及概念other-examples/ 把每个功能点做成了可运行的完整版本几组值得重点看记忆管理一共四种粒度的对照示例——ServiceWithMemoryExample.java单个服务内维护对话上下文、ServiceWithPersistentMemoryExample.java跨会话持久化、ServiceWithMemoryForEachUserExample.java按用户隔离、ServiceWithPersistentMemoryForEachUserExample.java持久化加用户隔离的组合四个文件并排读MemoryId 机制就清楚了。工具调用方面ServiceWithToolsExample.java 演示静态工具集ServiceWithDynamicToolsExample.java 演示运行时动态增删工具。流式输出有 StreamingExamples.java 这个专门文件覆盖 StreamingChatModel 与回调处理器的各种组合ServiceWithStreamingExample.java 则演示流式在 AI Service 接口上的用法。此外还有 ServiceWithAutoModerationExample.java内容审核拦截、ChatWithDocumentsExamples.java文档问答、ProxyExample.java模型代理等都是生产系统里迟早会碰到的能力点。综合案例一个带记忆、工具和测试的客户支持 Agent想一次性看到AI Service 工具 记忆 RAG 集成测试如何协作直接读 customer-support-agent-example/。它模拟租车公司的客服机器人CustomerSupportAgent.java 用 SystemMessage 定义了行为规则查订单前必须确认客户信息、取消订单前必须二次确认、只回答业务相关问题MemoryId 参数实现了按会话隔离的记忆BookingTools.java 提供查询与取消订单的工具方法背后是 BookingService.java 这类普通业务代码。测试侧的 CustomerSupportAgentIT.java 用了 JudgeModelAssertions——用另一个 LLM 给 Agent 的回答打判定这是给 LLM 应用写可回归测试的实用思路。azure-open-ai-customer-support-agent-example/ 提供了同一案例的 Azure OpenAI 版本工具集多了一个无法取消异常的处理路径可对比着看。可观测性、打包与常见卡点调试 LLM 应用绕不开日志。agentic-tutorial/src/main/java/util/log/ 提供了一套现成工具BeautifulLogAppender 把模型 I/O 的美化日志输出到控制台CustomLogging 与 LogLevels 控制详细程度LogParser 负责解析——Agent 链路越长这套东西越省事。部署层面的两个要点一是每个示例都能按 tutorials/README.md 说的流程打成 fat jar 或 GraalVM 原生镜像容器化和冷启动优化都有路径二是换模型供应商时优先参考对应模块如 ollama-examples/ 演示了用 Testcontainers 拉起本地模型跑测试避免把 API Key 和模型名硬编码散落在业务代码里。如果某个功能点没跑通先确认 API Key 配置在对应模块的 ApiKeys 类里再对照 open-ai-examples/ 里同功能的写法做减法排查通常十分钟内能定位。下一步建议先跑通 _00_HelloWorld.java然后按你的目标二选一——做 RAG 应用就从 _1_easy/ 起步做多 Agent 系统就从 _1_basic_agent/ 起步其余模块作为遇到问题时的查阅手册即可。【免费下载链接】langchain4j-examples项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j-examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑