# 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-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🤖 RAG AI 知识问答系统 基于检索增强生成(RAG)技术构建的智能问答系统,支持文档上传、智能问答和聊天历史管理。 ## ✨ 功能特性 - 📄 **文档管理**: 支持上传和管理多种格式的文档 - 💬 **智能问答**: 基于上传文档的智能问答功能 - 🔍 **向量搜索**: 使用向量数据库进行相似性搜索 - 📚 **聊天历史**: 完整的对话历史记录管理 - 🌐 **Web界面**: 现代化的Web用户界面 - 🔧 **RESTful API**: 完整的API接口 - 👨‍💼 **管理后台**: Vue3 + Element Plus的管理系统 - 📱 **多端应用**: UniApp支持H5、小程序、App等多端 胡莹莹:511.huyingying.top 陶盛博:aliyun66.asia 王玉亮:abc.kakacardigan.cn 程斌:421.L421.uno ## 🚀 快速开始 ### 分别启动 #### 启动后端API **开发环境 (SQLite)** ```powershell # 进入后端目录 cd backend cd Rag.Api dotnet watch **生产环境 (PostgreSQL)** #### 启动前端界面 ```powershell cd frontend/admin pnpm i pnpm run dev **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 pnpm install pnpm run dev ```