云计算百科
云计算领域专业知识百科平台

Spring AI RAG Demo:一个可以直接运行的 ERP 智能助手

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

赞(0)
未经允许不得转载:网硕互联帮助中心 » Spring AI RAG Demo:一个可以直接运行的 ERP 智能助手
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!