⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/eight-java-ai-projects-20261018/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

最近两个月,我身边好几个 Java 同事都在问同一件事,AI 到底怎么接进现在的项目里。

纯调 API 的阶段已经过去了。大家想做的是真能用的东西,让系统能查公司内部资料,让用户用一句话把数据库查出来,或者跑个 Agent 把重复任务接过去。

我整理出 8 个值得花时间的项目,全部面向 Java 生态。挑选标准就三条,仓库里有实际代码、文档还过得去、方向符合工程实践。

以下不排名,按使用场景从基础到应用排。

八个项目的定位对照

光会调 API,很快就会不够用

先说个判断。这 8 个项目里绝大部分不是竞品,它们解决的不是同一类问题。

你要把模型接进现有的 Spring Boot 服务,和你要在自己机器上跑一个模型做推理,和你要让 Agent 自己拆解一个复杂目标,是三件事。选错了会绕远路。拿一个绑死 Spring 的框架去改非 Spring 的项目,拿一个要 JDK 17 的方案去救 JDK 8 的老系统,都属于这一类。

我的分类是这样的。一类是把模型接进现有代码,一类是在自己机器上跑模型,一类是把多步流程编排起来,最后一类是直接拿一个能干活的成品。

顺着这四类往下看,每个项目的位置和代价就清楚了。

第一类,把模型接进现有代码

这一层的问题是怎么把模型调用变得像写普通 Java 代码。

LangChain4j 是这一层里最完整的。仓库在 https://github.com/langchain4j/langchain4j ,现在一万三千多 Star,版本走到了 1.22。

它从 2023 年初开始做,最关键的一点是它没有走移植 Python LangChain 那条路,而是用 Java 从头写的。接口、注解、强类型、依赖注入,写起来跟平时写 Spring 是一个手感。目前支持 20 多大模型提供商和 30 多个向量数据库,OpenAI、Gemini、Anthropic、DeepSeek、Ollama 都能接,背后有微软和红帽参与维护。

LangChain4j 仓库首页实时截图,Star 与 Fork 计数同时可见

它的核心能力有几块值得单独说。

  • AI Services,声明一个 Java 接口加上 @SystemMessage 这类注解,框架替你把调用逻辑实现掉,不用手写 HTTP 请求
  • Easy RAG,一行代码跑起最基础的文档问答
  • MCP 支持,Agent 可以连外部工具,比如 GitHub、Slack、数据库
  • 多 Agent 协调,支持 SupervisorAgent,能把多个子 Agent 编排起来跑复杂任务

它最大的价值是不绑定框架。Quarkus、Helidon、Micronaut 都能用,你原来什么技术栈,接进来还是什么技术栈。

Spring AI 是另一个方向,仓库在 https://github.com/spring-projects/spring-ai ,现在九千五百多 Star。它是 Spring 官方出的,版本已经走到 2.0。

设计思路跟 Spring Data 有点像,用接口把底层差异抽象掉。OpenAI、Claude、通义千问,对外暴露的是同一套 API,换模型只换配置。它有个 Advisors 机制挺有特点,相当于 AI 调用的拦截器,想给对话加 RAG 就加一个 Advisor,想做日志监控也是加 Advisor,业务代码不用动。

代价是它比较 Spring 化。项目如果本来没用 Spring,接进来的成本会明显偏高。另外 MCP 支持虽然做进来了,生态成熟度还不如 LangChain4j。

ai4j 是这一层里最容易被忽略的一个,仓库在 https://github.com/LnYo-Cly/ai4j 。

它解决的是一个很具体的缺口。你要是还在维护 JDK 8 的老系统,Spring Boot 1.x 或者 2.x,那前面两个基本用不了,因为它们都要求 JDK 17 起。

ai4j 在 JDK 8 上就能跑,支持接 OpenAI、DeepSeek、智谱 AI、腾讯混元、Ollama、MiniMax、Moonshot 这些主流模型,RAG 和 Tool Call 都有。它还能直接接进 Dify、Coze、n8n 这类低代码工作流平台,作为其中执行节点用。现在已经是多模块结构,ai4j-agent、ai4j-coding 这些都是独立模块。

这种项目不会有技术博客推荐,因为老项目接 AI 听起来不够酷。但真实企业里跑着多少 JDK 8 的系统,能让它们具备基础 AI 能力,价值其实不小。

第二类,在自己机器上跑模型

这一类只有 DJL 一个,因为在这个位置上它基本没对手。仓库在 https://github.com/deepjavalibrary/djl ,官网 https://djl.ai ,现在四千八百多 Star。

它由 AWS 出品,解决的问题很直接,不依赖 Python,让 Java 应用自己加载并运行深度学习模型。

引擎无关是它最大的特点。一套代码,底层引擎可以自由切换,PyTorch、TensorFlow、ONNX Runtime 都行,逻辑不用改。

这两年它的重心移到大模型推理上,最新版本 0.38.0 已经支持 DeepSeek、Llama 4、Qwen 3 这些主流模型的本地推理,DJL Serving 还支持 Continuous Batching 和 Token 流式输出。量化方面支持 AWQ、GPTQ、FP8,本地跑起来更省资源。

它和第一类那两个的区别在这儿。LangChain4j 也能接 Ollama,但那是把推理交给另一个进程去做。DJL 是把模型真正跑在你自己这个 JVM 里。

有个点挺反直觉,配合 Java 21 的虚拟线程,处理高并发推理请求在某些场景里比 Python 的异步机制更直接。

代价是学习曲线比 LangChain4j 陡不少,主要是绕不开机器学习概念。但你的需求如果就是在 Java 里跑本地模型做推理,不走外部 API,这基本是唯一靠谱的选择。

第三类,把多步流程编排起来

单次模型调用解决不了复杂任务,中间需要一个能记住状态、能串多步的编排层。

Spring AI Alibaba 是这一层的主力,仓库在 https://github.com/alibaba/spring-ai-alibaba ,文档站 https://java2ai.com ,现在一万一千多 Star。

它是阿里开源的 Agentic 框架,已经走到 2.0 的里程碑版本,稳定线在 1.1。官方定位是面向 Java 开发者的智能体开发框架,不只是模型适配层,而是一整套工具链。

架构分三层。最上面是 Agentic Framework,带上下文工程能力,内置 ReactAgent、SequentialAgent、ParallelAgent、LlmRoutingAgent 这些现成的形态;中间是 Graph Runtime,管有状态的工作流,包括持久化、流式、记忆和中断;最下面继承 Spring AI 的能力,管模型、消息、工具、向量库这些基础件。

Spring AI Alibaba 官方最新架构图,三层结构与各层组件

它还有一个可视化的开发平台,叫 Spring AI Alibaba Admin,可以在界面上配置 Agent、管理 MCP 工具、查看运行轨迹。

Spring AI Alibaba Admin 可视化平台界面

我觉得最值得关注的是它把 Nacos 集成进来了。你现有的微服务架构如果已经在用 Nacos 做服务发现,Agent 之间的跨服务通信可以直接复用,不用再搭一套通信机制。对一个已经跑着 Spring Cloud 的团队来说,这条省下来的工作量不小。

要求是 JDK 17+ 和 Spring Boot 3.3+。

三层结构这个设计本身也值得说一句。Agent 的复杂度不在单次调用,而在多步之间的状态怎么传。Graph 这一层专门管这件事,把工作流、持久化、流式、记忆、中断都收进去,最上面那层的 Agent 才不用自己操心状态。

第四类,直接拿一个能干活的成品

前面三类是积木,这一类是已经拼好的东西。想先看效果再决定要不要自己造的,可以从这里挑。

Lynxe 是这批里最有意思的一个。仓库在 https://github.com/spring-ai-alibaba/Lynxe ,现在一千多 Star。

它原来叫 JManus,是 Manus 的纯 Java 实现。Manus 火的时候是 Python 写的,这个项目把同一件事用 Java 做了一遍,而且据官方说已经在阿里内部一些业务场景里真实使用。

它现在的定位更聚焦了,主打一个叫 Func-Agent 的模式,要求执行确定性高,适合那些需要精确控制每一步的场景,比如从海量数据里快速捞一条出来,或者分析日志然后发告警。核心能力包括这几项。

  • PLAN-ACT 模式,给它一个复杂目标,它自己拆任务逐步执行,中途遇到问题会调整计划
  • 接入各种 MCP Server,Agent 可以调用外部服务和 API
  • 自带一个网页界面,可以在浏览器里配 Agent 参数、看思考过程
  • 支持 Ollama 本地模型,不强制买云端 API

部署也省事,官方给了 Docker 镜像和能直接跑的 JAR,不用从源码编译。

DataAgent 解决的是另一个很常见的痛点,仓库在 https://github.com/spring-ai-alibaba/dataagent ,现在两千七百多 Star。它是 Spring AI Alibaba 生态里的应用级项目,专门做 NL2SQL。

用法很直接。用户输入一句话,比如查一下上个月华北区域的销售额按产品类型分组,它把这句话转成 SQL 去数据库跑一遍,再把结果返回来。业务同学不会写 SQL 是普遍情况,每次都找数据开发帮忙,这块人力如果省下来很可观。

要提醒的是准确率问题。NL2SQL 的效果很大程度上取决于你的数据库结构够不够规范,以及模型对你的业务语义理解到什么程度。直接上生产需要调优,不是开箱即用。

DeepResearch 压轴,仓库在 https://github.com/spring-ai-alibaba/deepresearch ,现在三百多 Star。

它基于 Spring AI Alibaba Graph 实现,给一个研究主题,它会自动搜索、筛选资料、整理信息、生成报告,模拟人做调研的过程。

跟普通搜索的区别在于多步推理。搜出来的信息不够它会再搜。前一步的结果会影响下一步的搜索策略,整个过程是有状态的。这也是它必须依赖 Graph 的原因。

坦率说这类项目现在还偏技术探索,离直接拿去跑业务还差得远。但如果你在研究 Java 应用怎么做自主的多步信息处理,它是一个完整能跑起来的参考实现。

顺带说一个容易忽略的事实。这 8 个项目里有 4 个挂在同一个 GitHub 组织下,Spring AI Alibaba、Lynxe、DataAgent、DeepResearch 都属于 spring-ai-alibaba。这不是巧合,它说明这个生态已经排出了梯队,框架层有人维护,应用层有人做样板,从任何一个位置上去或者下来都能摸到东西。

那到底先学哪个

我把选择逻辑压成几条,按你手头的情况对号入座就行。

  • 刚入门 Java 加 AI,先跑 LangChain4j 的 Easy RAG 示例,代码量小,能跑通一个完整 RAG 流程,后面学什么都有底
  • 现有 Spring Boot 项目想加 AI 能力,Spring AI 或 Spring AI Alibaba 都行,追求官方支持选前者,要在国内生态上接得更顺选后者
  • 想做自主 Agent 或多步任务自动化,Lynxe 或 Spring AI Alibaba 的 Agent Framework 都可以,后者更底层,前者有完整的上层应用可以直接参考
  • 在维护 JDK 8 的老系统,ai4j,这个版本要求下它的选项最多
  • 需要 NL2SQL,DataAgent,做好调优的心理准备

Java 生态在这块真的没有以前那种只有 Python 才行的压制感了。LangChain4j 一万三千多 Star,Spring AI Alibaba 迭代也快,微软和阿里都在往里投。2025 年之前很多人觉得 Java 做 AI 太麻烦,现在写一个 RAG 应用,两种语言的代码量已经差不多了。

这 8 个项目不是让你全都学,是给你一张地图。找到跟你手头业务最接近的那一个,先跑起来,先做出一个能用的东西,比什么都强。

最后提醒一句,这里面好几个项目还在快速迭代,动手之前看一眼当前版本号,别照着几个月前的教程抄。

文章目录
  1. 1. 光会调 API,很快就会不够用
  2. 2. 第一类,把模型接进现有代码
  3. 3. 第二类,在自己机器上跑模型
  4. 4. 第三类,把多步流程编排起来
  5. 5. 第四类,直接拿一个能干活的成品
  6. 6. 那到底先学哪个