# RAG-Ai-应用系统-2班7组 **Repository Path**: WanFuQiu--1018/rag-ai-application-system-class2-group7 ## Basic Information - **Project Name**: RAG-Ai-应用系统-2班7组 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-04 - **Last Updated**: 2025-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于RAG+AI的知识问答应用系统 ## 📋 项目概述 本项目是一个基于RAG(检索增强生成)技术和AI的智能知识问答系统,旨在为用户提供高效、准确的知识检索和问答服务。系统支持多种文档格式上传,通过向量化技术实现智能检索,并提供多端访问能力。 ### 🎯 项目目标 - 构建完整的RAG知识问答系统 - 支持多种格式文档的智能处理 - 提供管理后台和多端用户应用 - 实现基于权限的文档访问控制 - 提供智能对话式知识检索体验 ### 📈 技术特色 - **RAG技术**: 结合检索和生成,提供精准回答 - **向量检索**: 基于语义相似度的智能搜索 - **多模态支持**: 文本、图片等多种格式文档处理 - **多端适配**: 小程序、H5、App全平台覆盖 - **权限管理**: 灵活的文档访问权限控制 ## 🏗️ 技术架构 ### 后端技术栈 - **框架**: .NET 8 Web API - **架构模式**: 整洁架构 (Clean Architecture) + 领域驱动设计 (DDD) - **数据库**: PostgreSQL 15+ - **向量存储**: pgvector扩展 / 专用向量数据库 - **AI集成**: OpenAI API / 国产大模型 - **文档处理**: 多格式文档解析和向量化 ### 前端技术栈 - **管理后台**: Vue 3 + Element UI Plus + TypeScript - **多端应用**: Uniapp框架 - 微信小程序/支付宝小程序/字节跳动小程序 - H5端(移动端浏览器) - App端(iOS/Android/HarmonyOS) - **特点**: 一套代码,多端发布,统一开发体验 ### 支持的文档格式 - 📄 文本文档: TXT、Markdown - 📋 Office文档: PDF、Word(.doc/.docx)、PowerPoint(.ppt/.pptx)、Excel(.xls/.xlsx) - 🖼️ 图片文件: PNG、JPG/JPEG ## 📚 文档结构 ``` docs/ ├── 需求文档.md # 详细的功能需求规格说明 ├── 项目结构模板.md # 推荐的项目组织结构 ├── 开发指南.md # 详细的开发步骤和代码示例 ├── API文档.md # API接口文档(待补充) ├── 部署文档.md # 部署说明和运维指南(待补充) └── 用户手册.md # 用户使用说明(待补充) ``` ## 🚀 快速开始 ### 环境要求 - .NET 8 SDK - PostgreSQL 15+ (含pgvector扩展) - Node.js 18+ - Docker & Docker Compose (可选) ### 本地开发环境运行 #### 1. 克隆项目 ```bash git clone https://github.com/your-org/rag-ai-application-system.git cd rag-ai-application-system ``` #### 2. 数据库设置 ```bash # 启动PostgreSQL (如果使用Docker) docker run --name postgres-rag \ -e POSTGRES_DB=ragdb \ -e POSTGRES_USER=raguser \ -e POSTGRES_PASSWORD=ragpass \ -p 5432:5432 \ -d pgvector/pgvector:pg15 # 安装pgvector扩展 psql -h localhost -U raguser -d ragdb -c "CREATE EXTENSION IF NOT EXISTS vector;" ``` # 启动后端服务 cd backend dotnet restore dotnet ef database update # 运行数据库迁移 dotnet run --project RAG.Api # API服务将在 http://localhost:5000 启动 # 启动管理后台 cd frontend/admin npm install npm run dev # 访问 http://localhost:3000 # 启动Uniapp应用 cd frontend/uniapp npm install # 使用HBuilderX打开项目,或使用命令行 npm run dev:h5 # H5端开发 npm run dev:mp-weixin # 微信小程序开发 # H5端访问 http://localhost:3001 #### 4. 前端启动 ```bash # 管理后台 cd frontend/admin npm install npm run dev # 访问 http://localhost:3000 # H5端 cd frontend/mobile/h5 npm install npm run dev # 访问 http://localhost:3001 ``` ### Docker一键部署 ```bash # 设置环境变量 export OPENAI_API_KEY=your_openai_api_key # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps ``` 服务访问地址: - 管理后台: http://localhost:3000 - API文档: http://localhost:5000/swagger - Uniapp H5端: http://localhost:3001 - 小程序端: 使用微信开发者工具打开 ## 📱 功能特性 ### 管理后台功能 - ✅ 文档上传和管理(支持批量上传) - ✅ 文档权限设置(对内/对外公开) - ✅ 向量化处理状态监控 - ✅ 用户对话记录查看 - ✅ 系统统计和分析 ### 用户端功能 - ✅ 智能问答对话 - ✅ 历史对话记录 - ✅ 文档浏览和搜索 - ✅ 多端同步访问 - ✅ 权限验证和访问控制 ### AI能力 - 🧠 基于RAG的智能问答 - 🔍 语义相似度检索 - 📊 回答可信度评分 - 🎯 相关文档引用 - 💬 上下文理解 ## 🗂️ 项目结构 ``` rag-ai-application-system/ ├── README.md # 项目说明文档 ├── docker-compose.yml # Docker部署配置 ├── docs/ # 项目文档 ├── backend/ # 后端API服务(整洁架构+DDD) │ ├── RAG.Api/ # 接口层 │ ├── RAG.Application/ # 应用层 │ ├── RAG.Domain/ # 领域层 │ ├── RAG.Infrastructure/ # 基础设施层 │ └── RAG.Tests/ # 测试项目 ├── frontend/ # 前端应用 │ ├── admin/ # 管理后台 (Vue3) │ └── uniapp/ # 多端应用 (Uniapp) │ ├── pages/ # 页面 │ ├── components/ # 组件 │ ├── api/ # API接口 │ └── static/ # 静态资源 ├── database/ # 数据库脚本 ├── deployment/ # 部署配置 └── uploads/ # 文件上传目录 ``` ## 🔧 开发指南 详细的开发指南请参考:[开发指南.md](docs/开发指南.md) 包含以下内容: - 环境搭建步骤 - 项目初始化 - 核心功能开发示例 - 数据库设计 - API设计规范 - 前端组件开发 - 测试编写 ## 📋 开发计划 ### 第一周 (Day 1-7) - [x] 项目结构搭建和环境配置 - [x] 数据库设计和基础API开发 - [x] 文档上传和处理功能 - [ ] RAG核心功能实现 - [ ] 管理后台基础界面 ### 第二周 (Day 8-14) - [ ] 用户端应用开发(小程序、H5、App) - [ ] 功能完善和性能优化 - [ ] 测试和部署 - [ ] 文档完善 ## 📊 考评标准 本项目将从以下维度进行考评: ### 项目完成度 (40%) - 核心功能实现完整性 - 系统稳定性和性能 - 用户体验设计 - 代码质量和规范性 ### 文档完整度 (30%) - 需求分析文档 - 技术设计文档 - API接口文档 - 用户使用手册 ### README完善度 (30%) - 项目介绍清晰度 - 环境搭建说明 - 部署方案完整性 - 运行效果展示 ## 🎨 项目截图 *注:此处将在项目完成后添加实际运行截图* ### 管理后台界面 - 文档管理页面 - 对话记录查看 - 系统统计面板 ### 用户端界面 - 智能问答界面 - 文档浏览页面 - 移动端适配效果 ## 🌐 在线演示 *项目部署完成后,各组成员的演示地址将在此处更新* - 管理后台: [待部署] - H5端: [待部署] - 小程序: [待发布] ## 📖 参考资源 ### 技术文档 - [.NET 8 官方文档](https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8) - [PostgreSQL pgvector](https://github.com/pgvector/pgvector) - [Vue 3 文档](https://cn.vuejs.org/) - [Element Plus 组件库](https://element-plus.org/zh-CN/) ### 项目原型 - 原型参考地址:https://gitee.com/myhfw003/rag-prototype.git - 建议先研究原型理解系统架构 ### AI服务 - [OpenAI API 文档](https://platform.openai.com/docs) - [千问API文档](https://help.aliyun.com/zh/dashscope/) - [文心一言API文档](https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html) ## 🤝 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/新功能`) 3. 提交更改 (`git commit -am '添加新功能'`) 4. 推送到分支 (`git push origin feature/新功能`) 5. 创建 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 📞 联系方式 - 项目负责人:[教师姓名] - 邮箱:[teacher@school.edu.cn] - 技术支持:[技术交流群] --- **开发时间**: 2周 (2025年8月3日 - 2025年8月17日) **文档更新**: 2025年8月3日