一套完整的开源实战教程:把传统 WMS 仓储系统接入本地大模型,让用户用自然语言完成查库存、开单据、搜知识库等真实业务操作。
这是个什么项目?
一句话:ERP 仓储 + AI 智能体。
用户对 AI 说"查询物料 ZL001 的库存",AI 自动调用queryStock工具查 PostgreSQL,返回真实库存数据——不是编的。用户说"帮我建一张 100 个 M001 的入库单",AI 调用createInOrder工具落库,单号自动生成。
知识库方面,上传公司采购流程文档后,问"公司的采购流程是什么",AI 做 RAG 检索后基于文档内容回答,还能多轮追问"那第二步呢"。
全部本地部署:数据不出企业。
系列目录(8 讲)
讲次 | 主题 | 核心内容 |
第 1 讲 | 从零搭建 WMS+AI 开发环境 | PostgreSQL+pgvector 安装、Ollama 三模型选型、Maven 依赖冲突、前端初始化 |
第 2 讲 | 双 ChatClient 架构与模型对接 | 智能体/RAG 分工、keepAlive 永久驻留、三层配置热加载 |
第 3 讲 | Spring Security 6 + JWT 认证体系 | 过滤器顺序、SSE 异步丢认证、双 Token、前端三层刷新 |
第 4 讲 | ERP 仓储业务建模与 19 个 AI 工具 | 15 张表、Facade 解耦层、库存防超卖、@Tool 注册 |
第 5 讲 | SSE 流式对话与工具调用可视化 | Flux 冷流多播、ToolEventEmitter、前端分帧解析+节流 |
第 6 讲 | RAG 知识库——从上传到混合检索 | Tika 解析、两阶段检索、多轮追问改写 |
第 7 讲 | Vue3 前端工程化 | Pinia 双 Store、并发刷新锁、Markdown 安全渲染 |
第 8 讲 | 生产部署与并发安全 | Nginx 完整配置、Ollama 探活、P0-P3 并发保护 |
技术栈版本
后端:JDK 17 / Spring Boot 3.5.16 / Spring AI 1.0.9 / MyBatis-Plus 3.5.8 / PostgreSQL 42.7.13 / jjwt 0.12.6 / Knife4j 4.5.0 / Hutool 5.8.46
前端:Vue 3.5.13 / Vue Router 4.5 / Pinia 2.3 / Axios 1.7.9 / Element Plus 2.9.1 / markdown-it 14.1 / Vite 6.2.4
基础设施:PostgreSQL 17.10 / pgvector v0.8.5 / Redis 7 / Ollama / Nginx 1.30
模型:qwen2.5:7b-instruct-q4_K_M(主智能体)/ qwen2.5:7b(RAG)/ bge-m3(Embedding)
适合谁看
- 想在企业内网落地 AI 智能体的 Java 开发者
- 正在调研 Spring AI + Ollama 技术选型的团队
- 踩过 Function Calling、SSE、RAG 检索效果的坑、想看真实解法的人
项目数据
- 128 个后端 Java 源文件 + 27 个前端源文件
- 15 张数据库表(10 张业务表 + vector_store 向量表)
- 8 个 Tool 类、19 个 @Tool 方法
- 开发过程踩坑 40+ 个,全部在系列中给出根因和解法
说明
- 系列文章代码基于真实项目,可直接对照开源仓库阅读
- 每讲开头附本讲复现环境与版本表,每篇所有问题按四要素记录:版本号 → 复现环境 → 真实报错 → 项目实际现象(对不上版本别急着套解法)
- 每讲末尾附本讲踩坑清单(含涉及版本列),方便快速回顾
- 文中所有报错信息均为真实开发日志,非模拟;无异常的"静默失效"类问题会明确标注「真实报错:无」及其迷惑性