【产品底稿 15】RAG 系统极致降维切割:砍掉重型中间件,三模架构实现 0 依赖盲跑(验证中)

现有完整版 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 架构轻量化拆分改造思路与实测进度,专注实战落地,沉淀一线架构优化经验。

欢迎留言交流你在架构轻量化中遇到的坑。

相关推荐
程序员老邢15 天前
【产品底稿 11】架构规整收官:从混乱到清晰,工程结构、表命名、模块分层一次性定型
后端·架构·springboot·产品底稿·架构规整·模块分层·数据库规范
编程在手天下我有1 年前
从读写分离到分布式服务:系统架构演进十阶段深度解析
数据库·系统架构·微服务架构·分布式系统·互联网技术·技术架构优化