简介:手把手落地可生产的私有化RAG知识库,无SpringCloud、纯轻量化Maven多模块架构,基于Ollama本地部署qwen2:0.5b对话模型 + nomic-embed-text向量模型,搭配Dify编排,实现全程内网离线、数据零出网,附带SSE流式对话、权限隔离、全链路日志审计,完整企业生产源码可直接部署。
🏷️ 标签:#RAG #私有化知识库 #SpringBoot #WebFlux #Ollama #Dify #企业级项目 #AI大模型 #离线部署 #Maven多模块
一、前言
网上绝大多数 RAG 知识库方案均为单机 Demo、依赖公网大模型,无权限隔离、无日志审计、无法内网私有化投产,仅适合学习,不具备企业落地能力。
本文基于SpringBoot 4.1.0 + WebFlux 响应式架构 + Maven多模块 + Dify + Ollama 离线双模型,落地一套可直接使用的轻量化企业私有化AI知识库。全程内网离线运行,数据零出网,兼顾安全性、稳定性与交互体验,适配中小企业内网涉密、内部文档问答场景。
二、项目整体架构(轻量化企业多模块)
项目不依赖 SpringCloud 微服务全家桶,采用标准 Maven 多模块+BOM 版本管控架构,分层职责单一、依赖统一、解耦彻底,易部署、易维护、可长期迭代。
项目完整结构
wisear-knowledge ├── knowledge-bom # BOM父工程,统一管控所有依赖版本 ├── knowledge-common # 公共模块:DTO、常量、统一返回、全局异常、工具类 ├── knowledge-support # 自定义Starter:自动配置、WebClient、日志、异常处理 ├── knowledge-gateway # 对话网关服务(9090):用户流式问答、会话管理 └── knowledge-admin # 后台管理服务(9091):知识库、文档、切片运维各模块核心职责
1. knowledge-bom(版本管控父工程)
统一约束 SpringBoot、第三方依赖版本,杜绝版本冲突、依赖混乱,全局统一基线,保障项目稳定性。
2. knowledge-common(公共核心模块)
沉淀全局通用能力,所有业务模块统一依赖,规范项目编码标准:
通用 DTO、分页实体、业务枚举
全局常量、请求头认证常量
统一接口返回结果、自定义全局异常
通用静态工具类封装
3. knowledge-support(自动化配置Starter)
自定义 starter 自动装载配置,业务模块零配置开箱即用:
WebFlux 全局请求日志过滤器(用户ID、耗时、状态码埋点)
全局异常统一捕获与格式化返回
Dify 服务配置自动绑定
4. knowledge-gateway 对话网关服务(:9090)
面向终端用户的唯一问答入口,专注流式对话业务:
自定义请求头密钥鉴权,拦截非法请求
SSE 长连接流式转发,支持 AI 逐字打字输出
会话创建、查询、删除全生命周期管理
用户ID 全链路透传,链路可追溯
适配长对话的专属 WebClient 超时配置
5. knowledge-admin 知识库管理服务(:9091)
面向运维管理员,独立权限体系,专注知识库运维:
独立 Admin 密钥,与用户侧权限严格隔离
企业文档上传、切片、向量化入库、知识库维护
短接口专属 WebClient 配置,响应高效稳定
三、核心离线双模型架构(100% 私有化不上公网)
项目采用检索模型与生成模型物理分离方案,全部基于 Ollama 本地离线部署,无任何公网请求,彻底保障企业数据安全。
1. 向量检索模型:nomic-embed-text
专门负责文档语义向量化与相似度召回,替代传统关键词检索:
对企业规章制度、项目文档、内部资料做切片向量化
基于语义相似度匹配,精准理解用户提问意图
轻量高效、中文适配性强、硬件部署门槛低
2. 对话生成模型:qwen2:0.5b(Ollama离线部署)
轻量化通义千问模型,本地离线运行,仅基于私有知识库上下文生成答案:
完全离线、零公网调用、无数据外泄风险
依托检索到的私有文档作答,大幅降低大模型幻觉
完美适配 SSE 流式输出,实现前端逐字对话效果
模型体积小、响应速度快,普通服务器即可稳定运行
3.双模型架构核心优势
职责拆分:检索专注精准召回、大模型专注智能作答
全程内网离线,文档、向量、对话数据零出网
无需付费API,零调用成本
轻量化组合,适配中小企业低配服务器部署
四、生产级核心优化(区别于普通Demo项目)
1. 长短连接 WebClient 物理隔离
解决多数RAG项目通病:长短请求共用连接池,长对话阻塞后台管理接口。
网关 ChatWebClient:长超时策略,适配 SSE 流式长连接对话
后台 AdminWebClient:短超时策略,适配管理类短请求
彻底避免连接耗尽、请求阻塞、超时混乱等线上问题。
2. 全链路日志审计与用户身份透传
基于 WebFlux 自定义全局过滤器,适配响应式编程架构:
自动解析 X-User-Id,全链路上下文透传
自动记录请求路径、请求方式、状态码、接口耗时、操作人
自动过滤跨域 OPTIONS 预检垃圾日志,日志整洁可审计
3. 企业级前端对话交互体验
发送消息后展示 AI 思考跳动动画,解决空白灰框问题
首条流式数据到达自动切换文字输出,交互流畅自然
知识库参考资料自动去重,支持弹窗查看原文匹配片段
异常场景自动关闭加载状态,避免页面卡死
五、系统效果实拍展示
整套私有化RAG知识库前后端功能完整落地,以下为项目真实运行界面,包含知识库管理、文档管理、智能对话页面三大核心场景,直观展示企业级落地效果。
1. 知识库管理(后台管理)
管理员可统一创建、查看、管理所有企业知识库,权限独立管控,适配企业多级知识库管理场景。
2. 文档管理(后台运维)
支持企业文档上传、自动切片、向量化入库,方便运维人员校验知识库数据质量,保障检索精准度。
3. 智能对话页面(用户端)
终端用户问答交互界面,具备AI思考动画、SSE流式逐字输出、参考资料溯源、会话切换/删除等完整能力,交互体验对标商业化AI知识库产品,全程基于私有文档离线作答。
六、架构落地优势与适用场景
1.落地优势
架构轻量化,无冗余组件,部署简单、运维成本低
双权限体系隔离,用户对话与后台管理权限分离
全链路日志可追溯,满足企业运维审计规范
全程离线私有化,从根源杜绝企业数据泄露
2.适用场景
企业内部制度、办公手册、项目文档智能问答
内网涉密、禁止数据出网的私有化AI场景
企业内部智能客服、部门知识库助手
低成本落地私有化RAG,规避公有云大模型费用与数据风险
七、总结
本项目摒弃市面上玩具式RAG Demo,基于SpringBoot4.1.0 + WebFlux + Maven多模块 + Dify + Ollama离线双模型,实现了一套轻量化、高安全、可投产的企业私有化知识库方案。
兼顾离线安全、权限隔离、日志审计、流式交互、低成本部署五大核心能力,非常适合中小企业内网AI知识库快速落地,是从Demo走向生产的完整私有化RAG解决方案。
后续持续更新:详细部署教程、性能调优、会话智能命名、接口限流熔断、生产完整配置文件
八、核心组件 Docker 私有化部署参考
本项目所有AI核心组件均支持Docker 一键私有化部署,无需复杂环境配置,全程内网离线部署,适配企业生产环境,快速搭建整套RAG知识库服务底座。
1. Ollama 离线模型部署(qwen2:0.5b + nomic-embed-text)
通过Docker部署Ollama服务,统一管理对话大模型、向量嵌入模型,支持模型本地持久化、开机自启、内网独占访问,彻底脱离公网依赖,保障模型与数据安全。部署流程可参考本人往期博文:【手把手教你:Windows+Docker 部署 Ollama + Qwen2:7B 纯 CPU 实战_docker部署ollama 挂载qwen】
部署完成后,项目直接内网调用本地模型服务,实现问答生成、文档向量化全流程离线运行。
2. Dify 知识库服务 Docker 部署
Dify作为RAG业务编排核心,支持Docker快速部署,提供文档解析、切片管理、向量入库、流式对话编排等一站式能力。部署简单、开箱即用,完美适配本项目多模块架构,打通后台文档运维、前端智能问答全链路。部署流程可参考本人往期博文:【手把手教你:Windows + Docker部署Dify访问本地Ollama_dify安装ollama插件】
3.部署优势
容器化部署,环境统一、无依赖冲突、迁移便捷
全程内网离线,模型、知识库数据、对话记录零出网
一键启停、运维简单,适配中小企业生产落地
完美适配本项目 SpringBoot + WebFlux 架构,兼容性拉满
九、项目源码开源说明
整套企业私有化RAG知识库完整工程源码,已全部上传至CSDN资源库,无阉割、无精简、完整生产版本,可直接下载导入运行、二次开发与内网部署投产。
源码包含完整项目体系:
全套 Maven 多模块工程(BOM版本管控、公共模块、自动配置Starter、网关对话服务、后台管理服务)
WebFlux 响应式完整实现、SSE 流式逐字对话、AI思考动画前端页面源码
长短双 WebClient 隔离配置、全局日志过滤器、用户身份透传逻辑
密钥鉴权、全局异常处理、统一返回封装、工具类、常量枚举全套基础能力
适配 Dify + Ollama 离线双模型的完整对接业务代码
资源特点:摒弃网络Demo玩具代码,完全生产级落地架构,适配企业私有化部署学习、毕业设计、项目二次迭代,开箱即用,无需大量改码适配。