1、立项原因:企业内部制度、流程、技术文档分散在各部门网盘和个人电脑,员工查"报价审批流程""代码仓库地址"这类问题只能问人或翻群聊,知识复用率低、新人上手慢;通用大模型问答存在幻觉,把内部资料上传公有云 SaaS 又有数据泄露风险,金融、政企、制造等行业普遍要求"数据不出内网"。本项目基于私有化部署的 Dify 构建企业级内网 RAG 知识库问答系统,整套链路(应用、Dify、MySQL、Redis、MinIO)全部 Docker 化部署在内网,私有文档向量化入库后,员工在内网对话即可获得有据可查、可溯源原文的精准答案。
2、行业场景与业务背景:适用于对数据安全敏感、只允许内网查询的金融、政企、制造、医疗等知识密集型行业。各部门维护自己的知识库,普通员工仅能检索本部门授权的知识库,超级管理员全局管理;系统对接企业已有部门/用户/角色组织架构,按部门与个人统计问答次数、Token 消耗并做配额限制,操作全程审计留痕,满足数据安全与合规要求。
1、我负责的任务:独立负责全栈设计与开发——Dify 及 MySQL/Redis/MinIO 的 Docker 私有化部署与内网联调、前端权限动态路由、问答 SSE 流式渲染与引用卡片、文档分片上传与进度可视化;后端认证授权、知识库/文档/问答/审计/配置核心服务、Dify API 集成、MinIO 存储、Redis 配额限流、定时清理任务,以及整体部署联调与性能优化。
2、技术栈与架构:后端 Java 21 + Spring Boot + Spring AI + MyBatis-Plus + Sa-Token + Tika + EasyExcel;前端 Vue 3.5 + TypeScript + Vite + Element Plus + Pinia + ECharts;基础设施:Dify 开源版 Docker 私有化部署、内网私有化大模型推理服务(vLLM 部署开源模型)、MySQL、Redis、MinIO,全链路容器化交付。架构为前后端分离 + 私有化能力编排:内网 Dify 负责向量化检索,内网大模型负责生成,MinIO 负责对象存储,Spring AI Advisor 切面统一做配额扣减与审计埋点。
3、亮点:全栈一键 Docker 化交付,数据不出内网满足合规刚需;按部门自动创建/复用 Dify 数据集实现多租户知识隔离并强校验防越权;Redis 动态代理强制 key 前缀校验杜绝脏写;MinIO key 统一前缀封装,SHA256 秒传去重+分片断点续传+SSE 进度推送;三级配置解析(DB→yml→环境变量)支持运行时热切换模型;Caffeine 有界缓存避免内存膨胀。
4、难点:SSE 连接生命周期管理防泄漏、Dify 异步索引轮询与失败重试、引用分数与原文定位对齐、配额并发扣减一致性(Redis 原子计数+节流)、大文件分片合并与临时文件清理的幂设计。