现有完整版 RAG 整体功能完备,但底层深度绑定 MySQL、Redis、Milvus、Ollama 等多款重型中间件,日常开发调试、本地联调、低配环境运行都处处受限,体验与落地性大打折扣。
本地调试搭建环境繁琐耗时,低配设备资源占用过高极易卡顿,项目启动容错率极低,任意一项外部服务、密钥、端口异常,都会直接导致项目启动失败,严重影响开发效率与项目通用性。
本次架构切割核心目标
✅ 搭建 demo / standard / professional 三模运行体系,实现多环境自由切换
✅ 对大模型、向量库等重型组件完成解耦,由强制依赖改为按需加载启用
✅ 实现纯离线零依赖运行,demo 模式脱离所有外部服务,快速启动助力前后端联调
✅ 上层核心业务代码保持原样不动,仅通过底层装配与策略模式完成无感适配
一、核心架构切割设计
1.1 大模型与向量库分层解耦
依托环境配置搭配条件注解,完成重型组件灵活管控。
本地大模型独立拆分加载逻辑,简易环境直接屏蔽加载,减少资源开销;远程大模型去除启动强制校验,离线场景可模拟数据运行;向量库拆分配置层与连接层,保留完整配置规避报错,低负载环境自动平滑降级。
目前代码层面拆分全部完成,正在测试三类模式切换稳定性。
1.2 权限模块精简瘦身
整合项目内繁杂冗余的权限校验逻辑,统一多端校验规则,剔除重复冗余代码。
弱化 Redis 强依赖,改为非强制注入,无缓存场景自动切换本地无状态校验,在精简代码的同时,保障权限流程正常流转。
1.3 数据层启动逻辑优化
针对 MyBatis-Plus 启动强制校验数据源、数据表的硬性问题做出优化。
舍弃多余虚拟数据库依赖,调整连接池初始化规则,关闭启动阶段强制数据校验。
实现项目不受数据库连通状态影响,优先正常启动,数据连接校验延后至实际业务调用阶段,彻底打破启动层面的环境束缚。
二、架构优化优先级
| 优先级 | 优化项 | 实施方式 | 预期效果 |
|---|---|---|---|
| P0 | 多环境模式适配 | 落地三类运行完整逻辑 | 一套项目适配离线调试、日常运行、全功能使用 |
| P0 | 重型组件解耦 | 策略模式 + 条件装配实现组件热插拔 | 削减无效资源占用,大幅缩短项目启动时长 |
| P1 | 权限逻辑优化 | 精简校验代码,完善无缓存降级方案 | 提升断网、轻量化环境下项目运行稳定性 |
| P2 | 架构整体轻量化 | 沉淀精简版 RAG 基础架构 | 适配轻量化业务快速搭建使用 |
三、迭代坚守原则
-
只做底层解耦轻量化改造,绝不改动原有核心业务逻辑
-
专注架构精简优化,不额外堆砌新增业务功能
-
直面框架原生耦合问题,用架构思路解决痛点,不盲目堆砌组件
-
一切优化围绕简化开发调试、拓宽项目适配场景为核心
四、技术沉淀价值
完成整套 RAG 架构降维改造,能够吃透 Spring Boot 自动装配、MyBatis-Plus 底层启动机制以及各类 AI 中间件适配逻辑,沉淀出一套通用可复用的轻量化 AI 项目架构模板,后续同类项目可直接复用搭建。
改造完成后项目彻底摆脱繁重环境依赖,日常演示、本地调试无需搭建全套服务,普通设备即可流畅运行,极大降低项目使用门槛,适配更多日常开发与项目试用场景。
五、当前进度与后续规划
目前全量代码架构拆分改造已经结束,正式进入多场景实测验证阶段,逐一排查模式切换各类异常问题,稳定无误后合并至正式分支。
现存难点在于原有业务层与数据底层耦合较深,虽已绕过启动强制校验,部分业务调用依旧存在依赖牵连,后续逐步梳理分层逻辑,完成数据层最后优化闭环。
整体架构切割完毕后,下一步同步推进前端层面适配拆分,完成前后端一体化轻量化改造。整体打磨稳定后,敲定六月正式对外上线推出,打磨成型完整可用的轻量化实用产品。
写在最后
此次底层架构重构,是一次彻底的松绑升级。
深耕开发多年,早已不再盲目堆砌热门技术与各类中间件。真正实用长久的架构,既能承载复杂完整的业务场景,也可剥离所有外部负担,在简易环境中平稳运行,兼具实用性与灵活度。
稳步打磨好底层架构,筑牢项目根基,后续所有布局与推进都会更加顺畅从容。
本文是《产品底稿》系列第 15 篇,记录 RAG 架构轻量化拆分改造思路与实测进度,专注实战落地,沉淀一线架构优化经验。
欢迎留言交流你在架构轻量化中遇到的坑。