# rag-ops **Repository Path**: qfmx/rag-ops ## Basic Information - **Project Name**: rag-ops - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 离线 RAG 知识库系统 企业级离线 RAG(检索增强生成)知识库系统,支持文档上传、智能问答、高级检索等功能。 ## 📋 项目概述 本项目是一个完整的离线 RAG 系统解决方案,包含: - **前端系统**:基于 Vue 3 + TypeScript + Element Plus 的现代化 Web 应用 - **后端系统**:基于 Spring Boot + Spring AI 的微服务架构(规划中) - **AI 基础设施**:BGE-M3 向量模型、pgvector 数据库、本地 LLM(规划中) ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端应用层 │ │ Vue 3 + TypeScript + Element Plus + Pinia + Vue Router │ │ - 智能问答 - 文档管理 - 高级检索 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ API 网关层 (Nginx) │ │ - 路由转发 - 负载均衡 - SSE 支持 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Spring Boot 微服务层 │ │ - 上传服务 - 文档处理服务 - 问答检索服务 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 异步中间件与存储层 │ │ MinIO (对象存储) + RabbitMQ (消息队列) + pgvector (向量库) │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 离线 AI 算力基座 │ │ TEI (BGE-M3 向量引擎) + vLLM/Ollama (本地大模型) │ └─────────────────────────────────────────────────────────────┘ ``` ## ✨ 核心特性 ### 前端系统 - ✅ **现代化 UI**:渐变色彩、流畅动画、柔和圆角 - ✅ **全平台适配**:桌面端、平板、移动端响应式设计 - ✅ **流式对话**:SSE 实时响应,打字机效果 - ✅ **文档管理**:拖拽上传、进度显示、状态轮询 - ✅ **高级检索**:多条件筛选、相似度调节 - ✅ **Markdown 渲染**:代码高亮、表格支持 ### 后端系统(规划中) - 🔄 **微服务架构**:上传、处理、问答服务解耦 - 🔄 **异步处理**:RabbitMQ 消息队列,支持大文件处理 - 🔄 **向量检索**:pgvector + BGE-M3,支持语义搜索 - 🔄 **本地 LLM**:vLLM/Ollama 部署,完全离线运行 - 🔄 **混合检索**:向量检索 + 关键词检索(Elasticsearch) ## 🚀 快速开始 ### 前端系统 ```bash # 进入前端目录 cd rag-frontend # 安装依赖 pnpm install # 启动开发服务器 pnpm dev # 访问 http://localhost:5173 ``` 详细文档:[前端 README](./rag-frontend/README_CN.md) ### 后端系统(规划中) 后端系统基于 Spring Boot + Spring AI 开发,详细架构设计请参考: - [架构设计](./架构设计.md) - [环境配置](./环境.md) - [贡献指南](./CONTRIBUTING.md) ## 📱 功能展示 ### 1. 智能问答 - 流式对话界面 - 实时响应显示 - 溯源信息展示 - 配置面板调节 ### 2. 文档管理 - 拖拽上传文件 - 实时进度显示 - 任务状态监控 - 业务域分类 ### 3. 高级检索 - 多条件筛选 - 相似度调节 - 结果卡片展示 - Markdown 渲染 ## 🎨 设计系统 ### 响应式断点 ``` < 480px : 小屏手机 480-768px : 大屏手机 768-1024px: 平板 1024-1280px: 小笔记本 > 1280px : 桌面显示器 ``` ### 设计原则 - **移动优先**:先设计移动端,再增强桌面端 - **渐进增强**:基础功能优先,高级功能可选 - **性能优先**:避免过度动画和复杂效果 - **用户体验**:快速响应,清晰反馈 ## 📂 项目结构 ``` rag-ops/ ├── rag-frontend/ # 前端项目 │ ├── src/ # 源代码 │ ├── public/ # 静态资源 │ ├── README_CN.md # 前端文档 │ ├── QUICK_START.md # 快速开始 │ ├── RESPONSIVE_DESIGN.md # 响应式设计 │ ├── VISUAL_GUIDE.md # 视觉规范 │ └── package.json # 依赖配置 ├── docs/ # 文档目录 │ ├── README.md # 文档中心索引 │ ├── api/ # API 文档 │ ├── backend/ # 后端文档 │ ├── design/ # 设计文档 │ ├── changelog/ # 变更日志 │ └── test-data/ # 测试数据 ├── diagrams/ # 架构图 ├── deploy/ # 部署配置 ├── 架构设计.md # 架构设计文档 ├── 环境.md # 环境配置文档 ├── CONTRIBUTING.md # 贡献指南 └── README.md # 本文件 ``` ## 🛠️ 技术栈 ### 前端 - Vue 3.5 + TypeScript - Vite 7 + pnpm - Element Plus 2.13 - Pinia + Vue Router - Axios + markdown-it ### 后端 - Spring Boot 3.2+ - Spring AI & AI4J (rag-ai4j-spring-boot-starter) - PostgreSQL + pgvector - MinIO + RabbitMQ - 硅基流动在线大模型 (替代本地 BGE-M3 和 vLLM) ## 📚 文档导航 ### 核心文档 - [架构设计](./架构设计.md) - 系统架构设计文档 - [环境配置](./环境.md) - 开发环境配置 - [贡献指南](./CONTRIBUTING.md) - 参与贡献流程 - [文档中心](./docs/README.md) - 完整文档索引 ### 前端文档 - [完整开发文档](./rag-frontend/README_CN.md) - [快速开始指南](./rag-frontend/QUICK_START.md) - [响应式设计详解](./rag-frontend/RESPONSIVE_DESIGN.md) - [视觉设计规范](./rag-frontend/VISUAL_GUIDE.md) - [UI 优化总结](./rag-frontend/UI_OPTIMIZATION_SUMMARY.md) ### API 文档 - [前端 API 集成指南](./docs/api/前端 API 集成指南.md) - [上传服务 API 参考](./docs/api/上传服务 API 参考.md) ### 后端文档 - [上传服务测试指南](./docs/backend/上传服务测试指南.md) - [核心服务测试指南](./docs/backend/核心服务测试指南.md) - [Worker 服务测试指南](./docs/backend/Worker 服务测试指南.md) - [CORS 配置指南](./docs/backend/CORS 配置指南.md) ### 设计文档 - [跨域配置说明](./docs/design/跨域配置说明.md) ### 部署文档 - [Docker 部署指南](./deploy/README.md) - [快速参考手册](./deploy/QUICK_REFERENCE.md) ## 🎯 开发进度 ### 已完成 ✅ - [x] 前端项目初始化 - [x] 三端响应式布局 - [x] 智能问答界面 - [x] 文档管理功能 - [x] 高级检索功能 - [x] 设计系统建立 - [x] 完整文档体系 - [x] 后端 Spring Boot 依赖骨架搭建 - [x] 自定义 AI4J Spring Boot Starter 开发 - [x] pgvector 向量数据库配置连通 - [x] 硅基流动大模型同步/流式连接测试 ### 进行中 🔄 - [ ] MinIO + RabbitMQ 业务级打通部署 - [ ] RAG 全链路(文档上传 -> 切片打标 -> 向量化检索 -> 大模型问答)API 开发 ### 计划中 📋 - [ ] 本地 LLM 部署(vLLM/Ollama) - [ ] 混合检索实现(向量 + 关键词) - [ ] Reranker 模型集成 - [ ] 监控与日志系统 - [ ] 性能优化与测试 ## 🧪 测试 ### 前端测试 ```bash cd rag-frontend # 开发模式 pnpm dev # 生产构建 pnpm build # 预览构建 pnpm preview ``` ### 浏览器兼容 - Chrome >= 90 - Safari >= 14 - Firefox >= 88 - Edge >= 90 ### 测试设备 - iPhone SE (375px) - iPhone 12 Pro (390px) - iPad (768px) - iPad Pro (1024px) - Desktop (1920px) ## 🚀 部署 ### 前端部署 **Nginx 配置** ```nginx server { listen 80; root /var/www/rag-frontend/dist; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://localhost:8080/api/; # SSE 支持 proxy_buffering off; proxy_cache off; } } ``` **Docker 部署** ```bash cd rag-frontend docker build -t rag-frontend . docker run -d -p 80:80 rag-frontend ``` ### 后端部署(规划中) 详见后端开发文档。 ## 🐛 常见问题 ### Q: 前端页面空白? A: 检查后端 API 是否正常运行,查看浏览器控制台错误。 ### Q: 移动端菜单不显示? A: 确保窗口宽度 < 768px,检查响应式断点配置。 ### Q: 文件上传失败? A: 检查文件大小(< 100MB)和格式(PDF/Word/TXT/MD)。 ### Q: SSE 流式响应不工作? A: 确认 Nginx 正确配置了 SSE 支持,检查后端返回头。 ## 📊 性能指标 ### 目标 - 首屏加载:< 2s - 交互响应:< 100ms - 动画帧率:60fps - Lighthouse 评分:> 90 ## 🤝 贡献指南 欢迎贡献代码、报告问题或提出建议! ### 开发流程 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request 详细贡献流程请参考 [贡献指南](./CONTRIBUTING.md)。 ## 📄 许可证 MIT License ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发起 Discussion - 查阅文档 --- **项目版本**: v1.0.0 **最后更新**: 2026-03-03 **开发状态**: 前端完成,后端全链路框架与基石验证完成