# RAG-Ai-应用系统-1班5组 **Repository Path**: grade-23-full-stack-class-1/rag-ai-application-system-class1-group5 ## Basic Information - **Project Name**: RAG-Ai-应用系统-1班5组 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-08-03 - **Last Updated**: 2025-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🤖 RAG AI 知识问答系统 基于检索增强生成(RAG)技术构建的智能问答系统,支持文档上传、智能问答和聊天历史管理。 ## ✨ 功能特性 - 📄 **文档管理**: 支持上传和管理多种格式的文档 - 💬 **智能问答**: 基于上传文档的智能问答功能 - 🔍 **向量搜索**: 使用向量数据库进行相似性搜索 - 📚 **聊天历史**: 完整的对话历史记录管理 - 🌐 **Web界面**: 现代化的Web用户界面 - 🔧 **RESTful API**: 完整的API接口 - 👨‍💼 **管理后台**: Vue3 + Element Plus的管理系统 - 📱 **多端应用**: UniApp支持H5、小程序、App等多端 ## 🚀 快速开始 ### 1. 一键启动(推荐) ```powershell # 在项目根目录执行 .\start-all.ps1 ``` ### 2. 分别启动 #### 启动后端API **开发环境 (SQLite)** ```powershell # 进入后端目录 cd backend # 启动API服务 (SQLite) .\start-backend.ps1 ``` **生产环境 (PostgreSQL)** ```powershell # 进入后端目录 cd backend # 启动API服务 (PostgreSQL) .\start-backend-postgresql.ps1 ``` #### 启动前端界面 ```powershell # Web界面 .\start-frontend.ps1 # Admin管理后台 .\start-admin.ps1 # UniApp多端应用 .\start-uniapp.ps1 ``` **UniApp 详细使用说明:** - 📱 **H5版本**:在浏览器中运行,访问 http://localhost:8080 - 📱 **微信小程序**:使用微信开发者工具打开生成的代码包 - 📱 **App版本**:使用HBuilderX运行到手机或模拟器 - 📱 **其他小程序**:支持支付宝、百度、字节跳动等平台 ### 3. 访问应用 - **Web前端界面**: http://localhost:8000 - **Admin管理后台**: http://localhost:3000 - **API文档**: http://localhost:5000/swagger - **健康检查**: http://localhost:5000/health ## 📁 项目结构 ``` rag-ai-application-system-class1-group5/ ├── backend/ # 后端服务 │ ├── RAG.Api/ # API层 │ ├── RAG.Application/ # 应用服务层 │ ├── RAG.Domain/ # 领域层 │ └── RAG.Infrastructure/ # 基础设施层 ├── frontend/ # 前端界面 │ ├── index.html # Web界面 │ ├── admin/ # Admin管理后台 │ │ ├── src/ # Vue3源码 │ │ ├── package.json # 依赖配置 │ │ └── vite.config.js # 构建配置 │ └── uniapp/ # UniApp多端应用 │ ├── pages/ # 页面文件 │ ├── components/ # 组件库 │ ├── manifest.json # 应用配置 │ └── pages.json # 页面配置 ├── docs/ # 项目文档 ├── start-all.ps1 # 一键启动脚本 ├── start-admin.ps1 # Admin启动脚本 ├── test-admin.ps1 # Admin测试脚本 └── README-admin.md # Admin使用说明 ``` ## 🔧 技术栈 ### 后端 - **框架**: ASP.NET Core 8.0 - **数据库**: SQLite (开发) / PostgreSQL (生产) - **ORM**: Entity Framework Core - **AI服务**: OpenAI API - **架构**: Clean Architecture - **认证**: JWT Token ### 前端 - **Web界面**: HTML5, CSS3, JavaScript - **Admin后台**: Vue3 + Element Plus + Vite - **UniApp多端**: Vue3 + UniApp框架 - **样式**: 现代化响应式设计 - **功能**: 文件上传、实时聊天、文档管理、用户认证 - **支持平台**: H5、微信小程序、App、支付宝小程序等 ## 📋 API接口 ### 认证相关 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/logout` - 退出登录 ### 聊天相关 - `POST /api/chat/ask` - 发送问题 - `GET /api/chat/history` - 获取聊天历史 - `DELETE /api/chat/history` - 清空聊天历史 - `DELETE /api/chat/history/{id}` - 删除单条对话 ### 文档管理 - `POST /api/documents/upload` - 上传文档 - `GET /api/documents` - 获取文档列表 - `GET /api/documents/{id}` - 获取单个文档 - `PUT /api/documents/{id}` - 更新文档 - `DELETE /api/documents/{id}` - 删除文档 - `POST /api/documents/{id}/process` - 处理文档 ## ⚙️ 配置说明 ### OpenAI配置 在 `backend/RAG.Api/appsettings.json` 中配置: ```json { "OpenAI": { "ApiKey": "your-openai-api-key", "Model": "gpt-3.5-turbo", "MaxTokens": 2000 } } ``` ### 数据库配置 ```json { "ConnectionStrings": { "DefaultConnection": "Data Source=ragdb.db", "pgsql": "server=47.119.112.235;database=soft2_admin;uid=postgres;pwd=h13178502607YY;" } } ``` ## 🎯 使用指南 ### 1. Web界面使用 1. 打开 http://localhost:8000 2. 在文档管理区域点击上传 3. 选择要上传的文档文件 4. 在聊天区域输入问题开始问答 ### 2. Admin管理后台使用 1. 打开 http://localhost:3000 2. 注册新账号或使用现有账号登录 3. 在左侧菜单选择功能: - **仪表盘**: 查看系统概览 - **文档管理**: 上传和管理文档 - **AI对话**: 与AI助手对话 - **对话记录**: 查看和管理对话历史 - **系统设置**: 配置系统参数 ### 3. UniApp多端应用 1. 使用HBuilderX打开 `frontend/uniapp` 目录 2. 运行到浏览器或真机调试 3. 支持H5、微信小程序、App等多端 ## 🔍 开发说明 ### 添加新功能 1. 在 `RAG.Domain` 中定义实体 2. 在 `RAG.Application` 中定义服务接口 3. 在 `RAG.Infrastructure` 中实现服务 4. 在 `RAG.Api` 中添加控制器 5. 在前端添加对应的界面和功能 ### 数据库迁移 ```powershell cd backend/RAG.Api dotnet ef migrations add MigrationName dotnet ef database update ``` ### Admin后台开发 ```powershell cd frontend/admin npm install npm run dev ``` ## 📝 开发计划 - [x] 基础API框架 - [x] 文档上传功能 - [x] 聊天问答功能 - [x] Web前端界面 - [x] Admin管理后台 - [x] 用户认证系统 - [x] 对话记录管理 - [ ] 向量数据库集成 - [ ] 文档处理优化 - [ ] 性能监控 - [ ] 多语言支持 ## 🧪 测试 ### 测试Admin系统 ```powershell .\test-admin.ps1 ``` ### 测试API接口 ```powershell .\test-api.ps1 ``` ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建 Pull Request ## 📄 许可证 本项目采用 MIT 许可证。 --- **开发团队**: Class1 Group5 **最后更新**: 2025年8月4日