基于传统 Spring Boot 接入 AI:知识、组件与环境准备方案
一、总体准备思路
你的目标不是做 AI 平台,而是在现有 Spring Boot 系统上增加这些能力:
- AI 待办
- AI 文件事务
- AI 流程
- 语义识别
- 文件检索
所以准备重点应放在:
Spring Boot 现有能力
+ AI 接入层
+ 文档处理
+ 向量检索
+ 语义理解
+ 流程/待办/文件业务对接
+ 权限审计
+ 异步任务与存储
原则:
- 能复用现有组件的,不重复建设
- 能先用云 API 的,不先自建模型
- 能单机部署的,不先上复杂集群
- 先做内部试点,不一开始全公司推广
二、你需要掌握的知识体系
1. Spring Boot 传统后台必备知识
这些是你现有项目大概率已经具备的,但要确认团队是否熟练:
| 知识项 | 用途 |
|---|---|
| Spring Boot 分层架构 | Controller / Service / Repository |
| Spring Security 或现有权限体系 | 控制谁能用 AI、谁能查哪些文件 |
| MyBatis / JPA | 存 AI 日志、Prompt、任务记录 |
| Redis | 缓存、限流、任务状态 |
| RabbitMQ / Kafka | 文件解析、向量入库异步处理 |
| OSS / MinIO | 文件存储 |
| Flowable / Camunda / 自研流程 | AI 流程对接 |
| REST API 设计 | AI 模块与业务模块通信 |
| 定时任务 | 重建索引、失败重试、清理任务 |
如果你现有后台已经稳定运行,这部分通常不是瓶颈。
2. AI 接入必须补的知识
这部分是传统 Spring Boot 开发最容易缺的。
A. 大模型基础概念
你需要理解这些概念,但不需要会训练模型:
| 概念 | 你要理解到什么程度 |
|---|---|
| LLM | 能完成理解、生成、抽取 |
| Prompt | 怎么让模型稳定输出结构化结果 |
| Token | 成本和上下文长度限制 |
| Temperature | 控制回答稳定性 |
| 上下文窗口 | 一次能喂多少内容 |
| 流式输出 | 聊天体验更好 |
| Function Calling / Tool Calling | 让 AI 调你系统接口 |
B. RAG 检索增强
文件检索场景必学:
| 概念 | 说明 |
|---|---|
| 文档切块 Chunk | 长文档如何切片 |
| Embedding | 文本转向量 |
| 向量相似度 | 如何做语义检索 |
| TopK 检索 | 取最相关片段 |
| 重排序 Rerank | 提升检索准确度 |
| 引用溯源 | 回答附带原文出处 |
C. 文档处理知识
| 类型 | 需要了解 |
|---|---|
| 文本层提取、扫描件 OCR | |
| Word/Excel/PPT | 结构化解析 |
| 图片 | OCR 识别 |
| 编码问题 | 中文乱码、特殊格式 |
| 文件元数据 | 上传人、部门、业务类型 |
D. 语义识别知识
| 能力 | 应用场景 |
|---|---|
| 意图识别 | 创建待办、发起流程 |
| 文本分类 | 文件类型判断 |
| 实体抽取 | 金额、日期、人名、项目名 |
| 相似匹配 | 找类似案例、类似文档 |
E. AI 工程化知识
这部分很关键,决定能不能真正上线:
| 知识 | 为什么重要 |
|---|---|
| Prompt 模板管理 | 避免 Prompt 散落各处 |
| 结果结构化校验 | 防止模型乱输出 |
| 人工确认机制 | 内部系统必须可控 |
| 调用审计 | 出问题能追溯 |
| 成本控制 | 防止 Token 失控 |
| 失败重试与降级 | 模型超时、接口失败怎么办 |
| 敏感信息处理 | 内部数据不能乱出 |
3. 建议团队掌握的技能分工
| 角色 | 需要掌握 |
|---|---|
| 后端开发 | Spring Boot、AI 模块接入、业务 API 对接 |
| 运维/部署 | Docker、Nginx、Redis、MQ、向量库部署 |
| 产品/业务 | 场景梳理、确认规则、人工复核流程 |
| 实施负责人 | Prompt 设计、效果验收、成本评估 |
内部项目不一定需要算法工程师,会 Spring Boot 工程化接入 AI 的后端就能主导。
三、你需要准备哪些组件
下面按 必选、建议选、可暂缓 给你列清单。
四、核心组件清单
1. 应用层组件
| 组件 | 是否必选 | 作用 |
|---|---|---|
| 现有 Spring Boot 后台 | 必选 | 业务主系统 |
新增ai-module或ai-service | 必选 | 统一 AI 能力入口 |
| 现有用户权限系统 | 必选 | 控制 AI 使用权限 |
| 现有待办模块 | 必选 | AI 待办落地 |
| 现有流程引擎 | 建议 | AI 流程对接 |
| 现有文件管理模块 | 必选 | 文件上传、归档 |
| 管理后台页面 | 建议 | 配置 Prompt、查看日志 |
建议:
- 第一阶段不单独拆微服务,先在 Spring Boot 项目内加
ai-module - 稳定后再拆
ai-service
2. AI 能力组件
| 组件 | 是否必选 | 用途 |
|---|---|---|
| 大模型 API | 必选 | 理解、生成、抽取 |
| Embedding 服务 | 必选 | 文件语义检索 |
| Prompt 模板管理 | 必选 | 各场景统一 Prompt |
| 文档解析组件 | 必选 | PDF/Word/Excel 解析 |
| OCR 服务 | 视场景 | 扫描件、图片文字 |
| 向量数据库 | 必选 | 文件检索 |
| Rerank 重排序 | 建议 | 提升检索准确度 |
| Agent 工具调用框架 | 可暂缓 | 第二阶段再做 |
3. 中间件与基础设施
| 组件 | 是否必选 | 用途 |
|---|---|---|
| MySQL | 必选 | 业务数据、AI 日志、任务记录 |
| Redis | 必选 | 缓存、限流、任务状态 |
| RabbitMQ | 建议 | 文件解析、向量入库异步化 |
| OSS / MinIO | 必选 | 文件存储 |
| Nginx | 建议 | 反向代理、上传限制 |
| Docker | 建议 | 部署向量库、OCR、辅助服务 |
| Elasticsearch | 可选 | 若已有可复用做混合检索 |
4. 文档与检索相关组件
| 组件 | 建议 |
|---|---|
| Apache Tika | 通用文档解析 |
| PDFBox / iText | PDF 处理 |
| Apache POI | Office 文档处理 |
| Tesseract / PaddleOCR / 云 OCR | 扫描件识别 |
| pgvector / Milvus | 向量检索 |
| 云 Embedding API | 初期最省事 |
5. 监控与治理组件
| 组件 | 作用 |
|---|---|
| 日志系统 | 记录模型调用 |
| 调用统计表 | 统计 Token、次数、费用 |
| 审计表 | 记录谁问了什么 |
| 告警 | 接口失败、队列堆积 |
| 配置中心 | 管理模型参数、Prompt 版本 |
内部项目哪怕简单,也至少要有:
- AI 调用日志
- 文件处理任务日志
- 失败重试机制
- 每日调用量统计
五、推荐技术选型方案
方案 A:最低成本试点版
适合:内部试点、文档量不大、想快速验证
| 类别 | 选择 |
|---|---|
| 后端 | 现有 Spring Boot |
| 大模型 | 通义千问 或 DeepSeek API |
| Embedding | 云 API |
| 向量库 | PostgreSQL + pgvector |
| 文件存储 | MinIO |
| 消息队列 | RabbitMQ |
| 文档解析 | Tika + POI |
| OCR | 云 OCR,按需调用 |
| 部署 | 1 台测试服务器 + 1 台正式服务器 |
方案 B:稍稳妥的内部生产版
适合:部门级使用、文件持续累积、流程较多
| 类别 | 选择 |
|---|---|
| 后端 | Spring Boot + 独立 ai-module |
| 大模型 | 1 家主模型 + 1 家备用 |
| Embedding | 云 API 起步,后续本地化 |
| 向量库 | Milvus 单机 |
| 文件存储 | 公司现有 OSS/MinIO |
| MQ | RabbitMQ |
| 流程 | 现有 Flowable/Camunda |
| 检索 | 向量检索 + 关键词检索混合 |
| 部署 | 应用、向量库、中间件分机部署 |
你当前更适合:方案 A 起步,跑通后升级到方案 B。
六、环境配置要求
下面给你一份比较实际的内部部署环境建议。
1. 服务器规划
最小试点环境
| 服务器 | 建议配置 | 用途 |
|---|---|---|
| 应用服务器 1 台 | 4核8G | Spring Boot + Nginx |
| 数据服务器 1 台 | 4核8G | MySQL + Redis + RabbitMQ |
| AI 辅助服务器 1 台 | 4核8G | 向量库 + MinIO + OCR/解析服务 |
如果预算紧,也可以 2 台合并:
| 服务器 | 配置 | 用途 |
|---|---|---|
| 应用服务器 | 4核8G | Spring Boot + Redis + MQ |
| 数据服务器 | 8核16G | MySQL + pgvector + MinIO |
正式内部使用环境
| 服务 | 建议配置 |
|---|---|
| Spring Boot 应用 | 4核8G 起,2 实例 |
| MySQL | 4核8G 起 |
| Redis | 2核4G |
| RabbitMQ | 2核4G |
| 向量库 | 4核8G 起 |
| MinIO/OSS | 按文件量扩容 |
| OCR/解析 | 2核4G 起 |
2. 操作系统与基础软件
| 项目 | 建议 |
|---|---|
| 操作系统 | Rocky Linux 9 / Ubuntu 22.04 |
| JDK | 17 或 21 |
| Maven | 3.9+ |
| Git | 版本管理 |
| Docker | 部署向量库、OCR、辅助组件 |
| Nginx | 反向代理、上传大小限制 |
| MySQL | 8.0+ |
| Redis | 7.x |
| RabbitMQ | 4.x |
3. 网络与安全配置
内部项目也必须提前准备:
| 配置项 | 要求 |
|---|---|
| 出网访问 | 应用服务器需能访问大模型 API |
| HTTPS | 内外部接口建议启用 |
| 防火墙 | 只开放必要端口 |
| 文件上传大小 | 根据 PDF/合同调整,如 20MB~100MB |
| 超时时间 | AI 接口超时适当放宽 |
| IP 白名单 | 若模型平台支持,建议配置 |
| 密钥管理 | API Key 不入库、不进代码仓库 |
| 审计策略 | 记录 AI 查询和文件访问 |
4. 端口建议
| 服务 | 端口 |
|---|---|
| Spring Boot | 8080 / 自定义 |
| MySQL | 3306 |
| Redis | 6379 |
| RabbitMQ | 5672 / 15672 |
| MinIO | 9000 / 9001 |
| PostgreSQL/pgvector | 5432 |
| Milvus | 19530 |
| Nginx | 80 / 443 |
5. 存储要求
| 类型 | 建议 |
|---|---|
| 业务数据库 | 50GB 起 |
| 文件存储 | 按公司文档量,建议 200GB 起 |
| 向量库存储 | 文档量大时单独评估,试点 50GB 通常够 |
| 日志存储 | 30GB 起,定期清理 |
| 备份空间 | 至少预留 1 倍业务数据空间 |
文档检索场景要重点估的是:
- 原始文件大小
- 解析后的文本量
- 切块后的片段数量
- 向量数据占用
经验上:10 万份普通办公文档以内,单机向量库通常够用。
七、你需要提前准备的环境账号与资源
1. 模型平台账号
至少准备 1 家,建议备 1 家:
| 平台 | 用途 |
|---|---|
| 通义千问 | 主模型 |
| DeepSeek | 备用或高性价比推理 |
| 智谱 / 文心 | 备选 |
需要申请:
- API Key
- 调用额度
- 计费账号
- 内网出网白名单
2. 云服务或内部资源
| 资源 | 用途 |
|---|---|
| 云服务器 | 部署应用和中间件 |
| 对象存储 | 文件归档 |
| OCR 服务 | 扫描件识别 |
| Embedding API | 向量化 |
| 短信/邮件 | 可选,用于 AI 待办提醒 |
如果是纯内网环境,还要确认:
- 能不能访问公网模型 API
- 如果不能,是否要走私有化模型
- 文件存储是否必须完全内网
这会直接影响成本和技术路线。
3. 内部系统对接清单
实施前先把这些现有系统摸清楚:
| 系统 | 需要确认 |
|---|---|
| 用户/组织 | 用户、部门、角色接口 |
| 权限系统 | 数据权限规则 |
| 待办系统 | 创建、查询、更新接口 |
| 流程系统 | 模板、发起、审批节点 |
| 文件系统 | 上传、下载、目录权限 |
| 消息通知 | 站内信、邮件、企微/钉钉 |
| 审计系统 | 是否已有操作日志体系 |
AI 不是孤立功能,接入成本很大程度取决于你原系统接口是否规范。
八、按场景分别要准备什么
场景 1:AI 待办
知识:
- 意图识别
- 实体抽取
- 时间语义理解
- 人工确认流程
组件:
- 大模型 API
- Prompt 模板
- 待办业务 API
- Redis 缓存
- 审计日志
环境:
- 普通应用服务器即可
- 无需向量库
场景 2:AI 处理文件事务
知识:
- 文档解析
- 文件分类
- 字段抽取
- 业务规则映射
组件:
- 文件存储
- 文档解析器
- OCR
- MQ 异步任务
- 大模型 API
- 业务单据接口
环境:
- 较大文件上传带宽
- 文件存储空间
- 异步任务队列
- 解析任务监控
场景 3:AI 流程
知识:
- 意图识别
- 流程模板映射
- 表单字段抽取
- 审批摘要生成
组件:
- 流程引擎
- 大模型 API
- 流程模板配置表
- 业务 API
环境:
- 与现有流程系统同环境即可
- 注意接口超时和事务一致性
场景 4:语义识别
知识:
- 分类
- 意图识别
- 实体抽取
- 规则 + 模型混合判断
组件:
- 大模型 API
- 统一 NLU 服务
- 分类规则表
- 日志与样本库
环境:
- 普通应用环境
- 建议沉淀识别样本,方便后续优化
场景 5:文件检索
知识:
- RAG
- Embedding
- 向量检索
- 权限过滤
- 引用溯源
组件:
- 文档解析
- Embedding 服务
- 向量数据库
- 大模型 API
- 文件权限系统
- 检索日志
环境:
- 向量库服务器
- 足够文件存储
- 异步入库任务环境
- 重建索引机制
九、数据库与配置项准备
虽然不写代码,但你要提前规划这些表和配置。
1. 建议新增的数据表
| 表 | 用途 |
|---|---|
| ai_prompt_template | Prompt 模板 |
| ai_model_config | 模型配置 |
| ai_chat_session | 会话记录 |
| ai_chat_message | 对话消息 |
| ai_call_log | 模型调用日志 |
| ai_task_record | 文件处理/AI 任务状态 |
| ai_document_index | 文档索引状态 |
| ai_document_chunk | 文档切片 |
| ai_intent_rule | 意图规则 |
| ai_tool_registry | 可调用业务工具 |
| ai_audit_log | 审计日志 |
| ai_usage_stat | 调用统计 |
2. 建议提前准备的配置项
| 配置 | 示例 |
|---|---|
| 模型供应商 | qwen / deepseek |
| API Key | 密钥管理 |
| 默认模型 | qwen-plus |
| 最大 Token | 4096 / 8192 |
| 超时时间 | 30s / 60s |
| 重试次数 | 2 次 |
| 每人每日调用上限 | 100 次 |
| 上传文件大小 | 50MB |
| 检索 TopK | 5 |
| 相似度阈值 | 0.75 |
| 是否开启人工确认 | true |
| 是否记录原始 Prompt | true |
十、团队实施前要准备的文档
建议你先产出这 6 份文档,后面会省很多时间:
| 文档 | 内容 |
|---|---|
| 场景清单 | 先做哪 3 个场景 |
| 业务流程图 | AI 待办、文件事务、流程发起怎么走 |
| 权限规则 | 谁能查哪些文件、谁能发起什么 |
| Prompt 清单 | 每个场景用什么提示词 |
| 接口清单 | 现有系统哪些 API 要被 AI 调用 |
| 验收标准 | 什么叫“可用” |
例如文件检索验收标准可以是:
- 能回答公司制度问题
- 回答带原文出处
- 无权限文件检索不到
- 响应时间可接受
十一、分阶段准备计划
第一阶段:环境与底座准备(1~2 周)
目标: 把底座搭起来,不接复杂业务
准备内容:
- Spring Boot 新加
ai-module - 申请模型 API
- 准备 MySQL / Redis / MQ / MinIO
- 准备向量库
- 打通文档上传与解析
- 建立 AI 调用日志
交付标准:
- 能调通大模型
- 能上传文件
- 能把文档切片入库
- 能做简单语义检索
第二阶段:核心场景准备(2~4 周)
目标: 做出 3 个可演示场景
准备内容:
- 文件检索 RAG
- AI 待办
- 一种文件事务场景,如发票/合同
- 人工确认页
- 权限过滤
- 调用审计
交付标准:
- 用户能问文件
- 用户能一句话建待办
- 用户上传文件后能生成业务草稿
第三阶段:流程与治理准备(按需)
准备内容:
- AI 流程发起
- 审批摘要
- 调用成本统计
- 失败重试
- 索引重建
- 部门知识库
十二、最低配准备清单
如果你想先以最小成本启动,下面这份就是“最低配开工包”。
知识
- Spring Boot 接口开发
- Prompt 基础
- RAG 基础
- 文档解析基础
- 权限与审计意识
组件
- Spring Boot 现有项目
- 大模型 API
- Embedding API
- MySQL
- Redis
- RabbitMQ
- MinIO
- PostgreSQL + pgvector
- Tika / POI
环境
- 2~3 台 4核8G 服务器
- JDK 17/21
- Docker
- 出网访问模型 API
- 文件存储 200GB 起
业务准备
- 待办接口
- 文件上传接口
- 流程模板
- 权限规则
- 1~2 个试点部门
十三、常见坑提前规避
| 坑 | 说明 |
|---|---|
| 只买模型,不做文档入库 | 文件检索做不起来 |
| 没有权限过滤 | 内部数据泄露 |
| 所有请求同步调模型 | 接口超时、体验差 |
| 没有人工确认 | 业务风险大 |
| Prompt 散落 | 难维护、效果不稳定 |
| 没有调用日志 | 出问题无法追溯 |
| 一开始支持所有文件类型 | 实施周期过长 |
| 向量库和业务库混用不设限 | 后期难扩容 |
十四、给你的最终建议
如果你现在就要开工,按这个顺序准备最稳:
第一步:准备环境和组件
- Spring Boot 项目加
ai-module - MySQL / Redis / RabbitMQ / MinIO
- 向量库:PostgreSQL + pgvector
- 大模型 API:先选 1 家
- Embedding API:先选云厂商
第二步:补关键知识
- Prompt
- RAG
- 文档解析
- 权限审计
- 异步任务
第三步:先做一个场景
优先:文件语义检索
因为:
- 组件复用率最高
- 对 AI 待办、文件事务、流程都有帮助
- 最容易看到价值
第四步:再接业务
- AI 待办
- AI 文件事务
- AI 流程
十五、一句话结论
基于传统 Spring Boot 做内部 AI,最该准备的是:AI 接入层、文档处理链路、向量检索环境、权限审计体系,以及现有待办/文件/流程接口对接能力。
最低成本路线就是:
Spring Boot + 国内大模型 API + Embedding + pgvector + MinIO + RabbitMQ + 文档解析 + 人工确认