MaxKB4j 技术文档
项目概述
MaxKB4j(Max Knowledge Base for Java)是一个基于 Java/Spring Boot 和 LangChain4j 构建的开源 RAG(检索增强生成)知识库及 LLM 工作流平台。它专为构建企业级智能问答系统而设计,支持多模型集成、可视化工作流编排、知识库问答和多模态能力。
核心特性
- 开箱即用的知识库问答:支持上传本地文档或自动抓取网页内容,自动完成文本分块 → 向量化 → 向量数据库存储 → RAG 流程构建。
- 模型无关的灵活集成:支持多种主流大语言模型(OpenAI、Claude、Gemini、DeepSeek、Qwen、Ollama 等),方便切换。
- 可视化工作流编排:内置低代码 AI 工作流引擎,支持条件分支、函数调用、多轮对话记忆,让复杂逻辑变得直观。
- MCP 协议支持:实现 Model Context Protocol,使 AI 能够理解代码上下文和项目结构,扩展性更强。
- 多模态能力:支持语音识别 (ASR)、语音合成 (TTS)、OCR、图像生成,满足多样化场景需求。
技术栈
| 类别 | 技术 |
|---|---|
| 后端框架 | Java 21, Spring Boot 3.5.1 |
| AI 框架 | LangChain4j 1.12.1 |
| 数据库 | PostgreSQL 15+ (pgvector 扩展) |
| 全文搜索 | MongoDB 6.0+ |
| 缓存 | Caffeine |
| 认证授权 | Sa-Token 1.39.0 |
| ORM | MyBatis-Plus 3.5.9 |
| API 文档 | Knife4j (OpenAPI 3) |
| 前端 | Vue 3.5, TypeScript, Element Plus, LogicFlow |
| 构建工具 | Maven, Vite |
项目架构概览
项目采用模块化设计,前后端分离,主要目录结构如下:
MaxKB4j/
├── maxkb4j-common/ # 公共模块 - 通用工具、常量、异常处理
├── maxkb4j-core/ # 核心模块 - AI 助手、事件处理、LangChain4j 集成
├── maxkb4j-service-api/ # 服务 API 定义层 - 实体、DTO、Mapper 接口
│ ├── maxkb4j-application-api/ # 应用相关 API
│ ├── maxkb4j-knowledge-api/ # 知识库相关 API
│ ├── maxkb4j-model-api/ # 模型相关 API
│ ├── maxkb4j-user-api/ # 用户相关 API
│ ├── maxkb4j-workflow-api/ # 工作流相关 API
│ ├── maxkb4j-tool-api/ # 工具相关 API
│ ├── maxkb4j-chat-api/ # 聊天相关 API
│ ├── maxkb4j-folder-api/
│ ├── maxkb4j-oss-api/
│ ├── maxkb4j--api/
│ └── maxkb4j-trigger-api/
├── maxkb4j-service/
│ ├── maxkb4j-application/
│ ├── maxkb4j-knowledge/
│ ├── maxkb4j-model/
│ ├── maxkb4j-workflow/
│ ├── maxkb4j-tool/
│ ├── maxkb4j-chat/
│ ├── maxkb4j-oss/
│ ├── maxkb4j-/
│ └── maxkb4j-trigger/
├── maxkb4j-start/
└── ui/


