当所有人都在用 Python 写 AI 应用的时候,有人偏要用 Java 重新造一遍轮子。结果造出了一个 Gitee GVP 认证项目。

如果你是一家 Java 技术栈的公司,想上 AI 知识库问答系统——

市面上的选择基本是:Dify(Python)FastGPT(Node.js)MaxKB(Python)

你吭哧吭哧把服务搭起来,结果运维说:"我们不会维护 Python。"安全说:"这个技术栈不在我们的审批清单里。"领导说:"能不能用 Java 搞?"

这时候,你就需要认识一下今天的主角了。

图片


什么是 MaxKB4j?

一句话:一个纯 Java 写的、开箱即用的 RAG 知识库 + LLM 工作流平台。

项目全称 Max Knowledge Brain for Java,由开发者 洛阳泰山(TARZAN) 独立打造,目前已迭代 1400+ 次提交,获得 Gitee GVP 认证项目

项目借鉴了 MaxKB、AIFlowy、Dify 和 FastGPT 的设计理念,然后用 Java 重新设计实现。

📌 项目地址:https://gitee.com/taisan/MaxKB4j


为什么 Java 生态急需这样一个项目?

来看看 Java 程序员面对的现实困境:

软件 语言 Java 团队集成
Dify Python(Flask) 需要跨语言调用
FastGPT Node.js(Next.js) 需要跨语言调用
MaxKB Python(Django) 需要跨语言调用
MaxKB4j Java 21 原生集成,无缝嵌入

对于 Java 技术栈团队来说:

  • 无需学习 Python/Node.js

  • 无需跨语言调用带来的性能损耗和维护成本

  • 直接打成 jar 包,丢进现有微服务体系就完事

  • 用熟悉的 Spring Boot + MyBatis 直接二次开发

这就是 MaxKB4j 最大的价值——让 Java 团队用自己最熟悉的语言,就能搭建一套完整的企业级 AI 知识库系统。


核心功能一览

🔍 开箱即用的知识库问答

上传 PDF、Word、TXT、Markdown 文档,或者直接输入网页链接爬取——系统自动分段、向量化,然后基于 RAG(检索增强生成)实现精准问答。

分段策略也不是简单按字数切——采用语义分段:按标题层级 → 段落边界 → 句子边界,还会保留相邻段落之间的 overlap,确保上下文不丢失。

⚙️ 可视化工作流编排

拖拽式 DAG(有向无环图)工作流引擎,支持 7 种节点类型

开始节点 → 条件判断 → LLM 调用 → 知识库检索 → 代码执行 → HTTP 请求 → 结束节点

支持条件分支、函数调用、多轮对话记忆,低代码就能编排复杂的 AI 业务。

🤝 多 Agent 协作

多个专业化 AI Agent 可以并行/串行协同工作,支持动态任务分发、Agent 间通信、共享记忆总线。想象一下:一个 Agent 负责检索、一个负责推理、一个负责格式转换,流水线作业。

🌐 模型中立

支持 20+ 国内外大模型,不分亲疏:

  • 🔸 DeepSeek(火遍全网的性价比之王)

  • 🔸 通义千问 / 文心一言 / 智谱 GLM

  • 🔸 OpenAI / Claude / Gemini

  • 🔸 Ollama 本地私有化部署模型

不绑定任何模型厂商,想用哪个换哪个。

🔌 MCP 协议支持

这不就是最近很火的 Anthropic Model Context Protocol 吗?让 AI 直接感知你的代码仓库上下文和项目结构。目前 Dify、FastGPT、MaxKB 都还没支持。

图片

⏰ 触发器功能

Cron 定时任务 + Webhook 事件回调——可以实现"每天早上 8 点自动汇总昨天的客服工单"这类无人值守场景。

🎙️ 多模态扩展

语音识别(ASR)、语音合成(TTS)、OCR 图片文字识别、AI 图像生成——不只是一个文本问答系统。

🔒 权限管理

细粒度的权限控制:应用、知识库、工具、模型四个维度的权限分别管理,外加审计日志和 Sa-Token 鉴权框架,企业级安全不在话下。


架构亮点:虚拟线程 + Reactor 混合并发

这是整个项目最硬核的地方。

传统方案的问题

市面上的 AI 平台大多用传统线程池处理并发,遇到 LLM 这种高延迟 I/O 密集型场景,线程很容易被打满,吞吐量上不去。如果用全响应式(Reactor)来搞,代码复杂度过高,可读性和可维护性都很差。

MaxKB4j 的方案

虚拟线程(Java 21 Project Loom)处理业务编排 + Reactor 处理流式 SSE 输出。

  • 业务编排用虚拟线程:同步写法,代码像写普通顺序逻辑一样清晰,但底层是协程级别的轻量并发,几万个"虚拟线程"也不会 OOM

  • 流式输出用 Reactor:SSE 推送这种需要背压控制的场景,用响应式模型天然契合

压测数据

据项目作者实测:

虚拟线程方案比传统线程池吞吐量提升约 3 倍,代码复杂度仅为全响应式方案的 1/3。

也就是说,性能翻三倍、代码简单三倍——这就是架构选型带来的红利。


RAG 检索策略

图文并茂讲一下 MaxKB4j 的混合检索管线:

用户查询
  ↓
查询改写(LLM 优化措辞)
  ↓
向量检索(pgvector 语义相似度)
  +
全文检索(tsvector 关键词匹配)
  ↓
RRF 融合算法(倒数排名融合)
  ↓
Cross-Encoder 重排序
  ↓
返回最优结果 → LLM 生成回答

向量检索负责语义层面的"理解",全文检索兜底关键词的精确匹配,RRF 把两者的排序融合,最后再用 Cross-Encoder 模型精排——比单一检索方式的准确率有显著提升。


技术栈一览

分层 技术
语言 Java 21
后端框架 Spring Boot 3
权限鉴权 Sa-Token
AI 框架 LangChain4j
向量数据库 PostgreSQL 15 + pgvector
全文检索 MongoDB 6.0+
缓存 Caffeine
前端 Vue 3 + Element Plus + LogicFlow
脚本沙箱 groovy-sandbox

一分钟部署

docker run --name maxkb4j -d \
  --restart always \
  -p8080:8080 \
  -eSPRING_DATASOURCE_URL=jdbc:postgresql://your-host:5432/maxkb4j \
  -eSPRING_DATA_MONGODB_URI=mongodb://your-host:27017/maxkb4j \
  registry.cn-hangzhou.aliyuncs.com/tarzanx/maxkb4j

部署完成后访问:http://localhost:8080/admin/login默认账号:admin / tarzan@123456


这个项目适合谁?

✅ 你所在的公司是 Java 技术栈为主,但想上 AI 知识库应用

✅ 你想学习 RAG 和 LLM 工作流的落地实现,并且你熟悉 Java

✅ 你需要一个可以深度定制二开的知识库系统,不想跟 Python 代码较劲

✅ 你在做智能客服、企业内部知识库、学术研究辅助、教育培训等场景

❌ 如果你的团队本身就是 Python 全栈,那 Dify 可能更适合你。

写在最后

说实话,MaxKB4j 是一个"逆潮流"的项目——在 AI 基础设施几乎被 Python 垄断的今天,用 Java 从头造一个 RAG 平台,是需要勇气的。

但也正因为如此,它对 Java 技术栈的团队来说,价值巨大。

对于想学习 AI 应用开发的 Java 程序员来说,这个项目也是一个宝藏级的参考——Spring Boot 3 + LangChain4j + pgvector + 虚拟线程,全都是 Java 生态最前沿的组合。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐