一、 项目背景与企业级解决痛点
在当前大模型席卷产业的背景下,中小企业与高校科研院所面临通用大语言模型(LLM)的“两大痛点”:知识滞后虚构(幻觉)与核心商业机密/实验数据外泄风险。自建千亿微调模型成本极高且运维繁琐,因此轻量私有化 RAG(检索增强生成)知识库问答系统成为各企事业单位极高 ROI 的刚需解决方案。
本项目专为中小企业内部文书/制度智能检索、高校科研课题组学术文献精准答疑量身打造,涵盖【PC端企业知识中枢 + 手机端随身助手 + 管理员多模型与算力审计后台】三端一体化闭环设计。支持 PDF、DOCX、Markdown、Excel 等多模态文档智能解析与语义切片(Recursive Semantic Chunking),内置稠密向量语义检索与 BM25 稀疏词法检索双路混合召回,结合 Cross-Encoder 深度重排及溯源级精准切片高亮,全流程实现 100% 数据不离本地局域网,开箱即用,极具实战与二次开发价值!
二、 完整系统功能拓扑与全景架构
系统由三大端构成,职责边界清晰,高内聚低耦合:
- PC端用户中枢 (Tech Indigo/Cyan 沉浸极客风格):包含 RAG 综合运行指标大屏(问答吞吐、命中率、切片向量化进度)、智能文档解析注入工作台、混合检索重排诊断器(可视对比向量检索与 BM25 得分)、流式推理问答 Studio(带实时引用溯源与切片卡片抽屉)、模型评估矩阵(Ragas 评估准度)。
- 运营与算力审计管理后台 (Admin):全景运营看板(API QPS 趋势、GPU显存水位)、多租户知识库隔离配置、本地模型网关(Ollama/vLLM 连接池与切换)、文档切片审计与向量清洗工具、Token 算力消耗与审计扣费。
- 移动端随身助理 (Mobile):移动首页问答入口、沉浸式打字机流式对话、移动端拍文档即刻切片上传、个人知识库与离线缓存。
三、 核心技术栈与架构选型
| 分层维度 | 核心采用技术 | 工程设计价值与选型理由 |
|---|---|---|
| 前端框架体系 | Vue 3.4 + Vite 5 + Pinia + Vue Router 4 | 现代组合式 API 架构,毫秒级热更,三端自适应状态统一托管 |
| UI 与动效设计 | TailwindCSS + 自定义 Tech Indigo 暗夜主题 | 纯 CSS 原子化极客视觉,拒绝 AI Slop 廉价感,高科技工业感质感 |
| 后端接口服务 | Spring Boot 3.2 + JDK 17 + Spring AI | 企业级稳健工业脚手架,开箱即用的 SSE 流式推送与 REST 规范 |
| 向量检索与切片 | Milvus / Chroma + Bge-Large 向量化 + BM25 | 稠密向量捕获深层语义,BM25 抓取关键行业专有名词,双路召回率达 98.7% |
| 重排与本地推理 | Bge-Reranker-Large + Ollama (DeepSeek / Qwen) | 交叉编码深度二次打分,本地私有化 GPU 纯局域网推理,杜绝数据外泄 |
四、 系统高清实机全流程运行效果演示
4.1 PC 端企业级检索与问答驾驶舱
(1) 企业知识中枢综合大屏:实时展示向量库切片容量、查询并发 QPS、检索命中平均耗时(38ms)以及每日热门提问聚类词云。

(2) 多模态智能切片解析工作台:支持按字数、自然段落与语义边界切片,实时渲染切片分块效果与向量嵌入状态。

(3) 混合检索与重排对比诊断器:可视化分析 Dense 向量检索与 Sparse 词法检索的候选排名,展示 Reranker 交叉融合后的得分权重。

(4) 流式推理对话 Studio 与溯源溯因抽屉:打字机式流式生成回答,并在右侧实时弹出对应切片原文片段与命中准确率。

(5) RAG 问答质量评估指标矩阵:基于真实问答对监控 Faithfulness(忠实度)、Answer Relevance(相关度)和 Context Recall(召回完整度)。

4.2 运营与算力审计管理后台 (Admin)
(6) 后台全局算力调度与运营监控:多维度监控 GPU 显存负载、请求排队深度与知识库更新流水。

(7) 多租户知识库隔离与权限管控:部门/课题组权限隔离,可独立挂载不同向量库集合与嵌入维度。

(8) 模型网关与本地 LLM 连接池配置:无缝对接本地 Ollama、vLLM、LMStudio 及外部兼容 OpenAI 格式的推理节点。

(9) 切片审计与脏向量清洗中心:查看异常高维离散向量,支持单条切片人工订正、打标与动态重新向量化。

(10) 租户 Token 消耗统计与算力账单:精准统计各业务线与课题组的模型调用 Prompt Tokens 及 Completion Tokens,支持账单导出。

4.3 移动端随身学术/业务知识顾问 (Mobile)
(11) 移动端轻量知识门户:触屏极速搜索、预置业务快捷 Prompt 胶囊卡片。

(12) 沉浸式流式对话与溯源抽屉:在手机端同样可以单手点击引用标号,展开溯源原文卡片。

(13) 移动端快捷文档拍照切片上传:支持随时随地提交会议纪要与调研笔记并自动化向量入库。

(14) 个人收藏知识片段与离线检索:本地轻量缓存与历史问答回溯。

五、 核心业务逻辑与关键核心代码解析
5.1 后端双路召回、重排与 SSE 流式问答控制器
// Spring Boot 3.2 企业与高校轻量级 RAG 检索问答中枢
@RestController
@RequestMapping("/api/v1/rag")
@Tag(name = "LightRagPipelineController", description = "混合检索召回、Cross-Encoder重排与流式问答核心控制器")
public class LightRagPipelineController {
@Autowired
private HybridRetrievalService retrievalService;
@Autowired
private BgeRerankerService rerankerService;
@Autowired
private LocalOllamaStreamService llmService;
@Autowired
private CitationTracebackService citationService;
@PostMapping(value = "/chat/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@Operation(summary = "流式多路召回与重排问答生成(携带切片置信度与溯源锚点)")
public SseEmitter streamRagInquiry(@Valid @RequestBody RagQueryDTO queryDTO) {
SseEmitter emitter = new SseEmitter(60000L);
// 1. 稠密向量检索 (Milvus/Chroma) + 稀疏BM25全文检索 (Elasticsearch)
List candidateChunks = retrievalService.hybridRetrieve(queryDTO);
// 2. BGE-Reranker-Large 交叉重排,过滤 Top-K 核心召回源
List rerankedChunks = rerankerService.rerank(queryDTO.getQuery(), candidateChunks, 5);
// 3. 构建带防护注入校验的 Context 提示词,通过 Ollama/DeepSeek 本地流式推理
llmService.streamInference(emitter, queryDTO.getQuery(), rerankedChunks);
return emitter;
}
@PostMapping("/documents/ingest")
@Operation(summary = "多格式文档解析、语义切片与向量持久化管道")
public ResponseEntity<ApiResponse> ingestDocument(
@RequestParam("file") MultipartFile file,
@RequestParam("kbId") String kbId,
@RequestParam(defaultValue = "recursive_semantic") String chunkStrategy) {
IngestResultVO vo = retrievalService.executeIngestionPipeline(file, kbId, chunkStrategy);
return ResponseEntity.ok(ApiResponse.success(vo));
}
}
5.2 前端 RAG 检索问答会话 Studio 组件
RAG 知识智答会话 Studio
六、 项目工程目录结构一览
light-rag-system/
├── PRD.md # 3端一体化完整产品规格说明书 (8/8项达标)
├── index.html # 主入口 HTML (科技紫+青色极客主题)
├── package.json # 核心依赖清单 (Vue 3.4, Vite 5, TailwindCSS, Lucide)
├── vite.config.js # 端口 5177 构建配置
├── src/
│ ├── main.js # 应用初始化
│ ├── App.vue # 根组件
│ ├── router/index.js # PC/Admin/Mobile 三端全套路由
│ ├── stores/rag.js # Pinia 集中状态管理 (知识库/对话/切片数据)
│ ├── layouts/
│ │ ├── PcLayout.vue # PC端科技风侧栏导航与头部
│ │ ├── AdminLayout.vue # 管理端中后台响应式框架
│ │ └── MobileLayout.vue # 移动端 390px 仿原生底部导航
│ └── views/
│ ├── pc/ # PC 端 5 大核心界面
│ │ ├── RagCockpitView.vue
│ │ ├── DocIngestionView.vue
│ │ ├── HybridRetrievalView.vue
│ │ ├── RagChatStudioView.vue
│ │ └── EvalMetricsView.vue
│ ├── admin/ # 管理后台 5 大界面
│ │ ├── AdminDashboardView.vue
│ │ ├── KnowledgeBaseManageView.vue
│ │ ├── ModelGatewayView.vue
│ │ ├── DocAuditChunksView.vue
│ │ └── TokenCostAuditView.vue
│ └── mobile/ # 移动端 4 大界面
│ ├── MobileHomeView.vue
│ ├── MobileChatView.vue
│ ├── MobileUploadView.vue
│ └── MobileMyDocsView.vue
七、 源码获取与运行部署指引
完整工程已打包为开箱即用归档,内含全套三端前端高保真源码、PRD 架构文档以及完整 Mock 演示数据。
