Spring AI RAG Demo:一个可以直接运行的 ERP 智能助手
现在很多 AI 项目只能完成简单的聊天,但在真实业务中,我们通常还需要让 AI 查询数据库、读取企业文档,并把数据转换成图表。
为此,我开发并开源了一个基于 Spring AI 2.0 的 ERP 智能助手:
项目地址: https://github.com/ly1836/spring-ai-rag-demo
img
1. 项目简介
Spring AI RAG Demo 是一个面向制造业 ERP 场景的 AI 助手。
项目把两种常见的企业 AI 能力整合到了一起:
- RAG:从企业文档中检索相关内容并回答问题
- Tool Calling:调用后端工具查询 ERP 实时业务数据
用户可以直接使用自然语言查询销售、采购、库存、生产、财务等数据,不需要自己编写 SQL。
例如:
查询2026年3月份的销售订单,按产品统计销售数量,并使用条形图展示。
AI 会自动选择合适的 Tool 查询数据库,然后整理结果并生成图表。
2. 主要功能
项目目前包含以下功能:
- Spring AI RAG 知识库问答
- ERP 业务数据 Tool Calling
- DeepSeek、通义千问、Google Gemini 多模型切换
- PDF、Word、Excel、TXT 文档导入
- PgVector 向量检索
- SSE 流式对话
- Markdown 实时渲染
- 数据库会话记忆
- 多租户数据隔离
- 动态数据库 Tool 管理
- Tool 调用记录和耗时追踪
- Token 用量统计与计费管理
- Apache ECharts 图表展示
项目内置了销售、采购、生产、质检、仓库、财务、售后和委外等 ERP 模块,共提供 39 个代码 Tool。
3. 三种对话模式
系统提供了三种对话模式。
3.1 智能模式
同时开启 RAG 和 Tool Calling。
AI 会自动判断用户的问题应该查询业务数据库,还是从知识库中检索文档。
3.2 数据查询模式
只使用 Tool Calling,适合查询 ERP 业务数据。
例如:
查询采购订单PO20260302的收货情况。
3.3 知识问答模式
只使用 RAG,适合根据导入的 PDF、Word、Excel 或 TXT 文档回答问题。
例如:
根据知识库介绍一下 Spring AI 的主要功能。
4. 技术栈
项目当前主要使用以下技术:
| Java 17+ | 开发语言 |
| Spring Boot 4.0.7 | 基础框架 |
| Spring AI 2.0.0 | AI 应用开发 |
| DeepSeek / 通义千问 / Gemini | 大语言模型 |
| PostgreSQL + PgVector | 向量数据库 |
| MySQL 8.0 | ERP、会话和计费数据 |
| MyBatis-Plus | 数据访问 |
| SSE | 流式输出 |
| Apache ECharts | 图表展示 |
| Docker Compose | 环境部署 |
具体依赖可以查看项目中的 pom.xml。
5. RAG 和 Tool Calling 的区别
RAG 主要解决“根据文档回答问题”。
基本流程如下:
上传文档
↓
解析并分割文档
↓
生成向量
↓
保存到 PgVector
↓
根据问题检索相关内容
↓
交给大模型生成答案
Tool Calling 主要解决“查询实时业务数据”。
基本流程如下:
用户提出问题
↓
大模型选择 Tool
↓
后端查询 MySQL
↓
返回结构化数据
↓
大模型整理回答
↓
前端展示文字或图表
两种能力结合后,AI 既能回答企业制度、操作手册等文档问题,也能查询实时业务数据。
6. Docker Compose 一键启动
6.1 环境要求
启动前需要准备:
- Docker
- Docker Compose
- 至少一个大模型 API Key
6.2 下载项目
git clone https://github.com/ly1836/spring-ai-rag-demo.git
cd spring-ai-rag-demo
6.3 配置环境变量
在项目根目录创建 .env 文件:
# 至少配置一个真实的大模型 Key
DEEPSEEK_API_KEY=你的DeepSeekKey
# 可选
DASHSCOPE_API_KEY=你的通义千问Key
GOOGLE_GENAI_API_KEY=你的GeminiKey
# MySQL 密码
ERP_DB_PASSWORD=你的数据库密码
请不要把包含真实 API Key 的 .env 文件提交到 Git 仓库。
6.4 启动服务
docker compose up -d
Docker Compose 会启动以下服务:
- Spring AI 应用
- PostgreSQL + PgVector
- MySQL
查看运行状态:
docker compose ps
查看应用日志:
docker compose logs -f app
启动成功后访问:
http://localhost:8080
停止服务:
docker compose down
7. 可以测试的问题
启动项目后,可以尝试下面的问题。
销售数据查询
查询2026年3月1日至3月31日的销售订单,按产品汇总销售数量,并使用条形图展示。
库存查询
查询当前库存不足的产品,并告诉我所在仓库。
财务查询
查询张三电子科技有限公司的应收账款,并使用仪表盘展示当前未收余额。
生产查询
查询2026年3月份开始的生产工单,使用甘特图展示计划开始时间和结束时间。
知识库问答
根据知识库介绍一下 Spring AI 的主要功能。
8. 项目适合哪些人
这个项目比较适合:
- 正在学习 Spring AI 的 Java 开发者
- 想了解 RAG 实现过程的开发者
- 想学习 Tool Calling 的开发者
- 准备开发企业知识库的团队
- 准备把大模型接入 ERP、CRM 或 OA 的团队
- 需要一个完整 AI 项目作为参考的开发者
它不仅包含简单的聊天功能,还提供了数据库查询、知识库、多模型、会话记忆、多租户、计费和图表展示等完整功能。
9. 总结
Spring AI RAG Demo 展示了如何使用 Spring AI 构建一个更接近真实业务的 AI 助手。
项目将下面几种能力进行了整合:
Spring AI
+ RAG
+ Tool Calling
+ PgVector
+ MySQL
+ 多模型
+ SSE
+ ECharts
如果你正在学习 Spring AI,或者准备开发企业级 AI 助手,可以将这个项目作为参考。
项目已经开源,欢迎 Star、Fork、提交 Issue 或参与改进。
GitHub: https://github.com/ly1836/spring-ai-rag-demo
网硕互联帮助中心




评论前必须登录!
注册