平台支持:
- 课程管理:创建/编辑/归档课程,管理课程成员。
- 资料上传与知识库:支持多格式(TXT、PDF、Word等)资料上传,自动提取文本并构建课程知识库。
- 智能教案生成:基于知识库和大模型,自动生成教学大纲、教学目标、重点难点、思政设计等。
- 题库与出题:按章节/知识点、题型(选择、填空、判断、计算、解答、自定义)智能生成题目,自动生成解析与参考答案。
- 考试管理:创建、发布、定时考试,自动批改,成绩统计,支持答案与解析公布。
- 学情分析:统计学生成绩、错题分布、知识点掌握情况,生成教学改进建议。
- 通知与消息:发布课程公告、考试通知,支持消息推送与历史查询。
- 课程浏览与选课:查看可选课程,加入/退出课程,查看课程资料与公告。
- 在线学习与资料下载:访问课程知识库,下载学习资料。
- 在线考试与作业提交:参加考试,提交作业,查看历史成绩与解析。
- 个人成绩与学情分析:查看各科成绩、错题本、知识点掌握图谱,获取个性化学习建议。
- AI学习助手:基于课程知识库和大模型的智能问答,支持知识检索、疑难解答、学习建议。
- 互动与消息:接收课程通知、考试提醒,与教师/同学互动。
- 用户管理:批量导入/创建/编辑/删除教师和学生账号,分配角色与权限。
- 课程与考试全局管理:审核课程、监控考试、管理资料与题库。
- 系统统计与活跃度分析:统计用户活跃度、课程参与度、考试通过率等多维数据。
- 合规政策管理:上传、维护政策文档,监控AI内容合规,生成合规报告。
- AI安全与内容监控:检测敏感内容、异常行为,支持审计与追踪。
- 后端:
- Spring Boot 3.5.0(主框架)
- Spring Data JPA(ORM与数据持久化)
- Spring WebFlux(异步HTTP客户端,集成AI大模型API)
- H2 Database(开发环境,支持MySQL/PostgreSQL切换)
- Jackson(JSON序列化/反序列化)
- 向量数据库/知识库(AI检索)
- 前端:
- HTML5、CSS3、JavaScript
- 各端独立页面(teacher.html、student.html、admin.html、login.html、SmartEdu.html)
- JS模块(teacher-api.js、student.js、admin.js等)封装API调用
- AI能力:
- DeepSeek大语言模型API集成
- 课程知识库向量化与语义检索
- 智能问答、自动出题、内容生成
- 合规与安全:
- 内置政策文档(policy_documents/)
- AI内容安全检测与监控
- 数据权限分级、操作审计
-
环境准备
- 安装 Java 17 及以上
- 安装 Maven 3.6 及以上
- 获取 DeepSeek API 密钥
-
前期准备:Docker安装与Milvus向量数据库部署
- 安装 Docker:
- 访问 Docker 官网,下载并安装 Docker Desktop,安装完成后启动 Docker。
- 安装完成后,可在命令行输入
docker -v验证安装是否成功。
- 部署 Milvus 向量数据库:
- 打开命令行,进入你希望存放 Milvus 配置的目录。
- 拉取 Milvus 官方 Docker Compose 配置文件:
curl -fsSL https://raw.githubusercontent.com/milvus-io/milvus-docker-compose/master/docker-compose.yml -o docker-compose.yml
- 启动 Milvus 服务:
docker-compose up -d
- 检查 Milvus 服务状态:
正常情况下会看到 milvus-standalone、etcd、minio 等相关容器处于运行状态。
docker ps
- (可选)如需图形化管理,可部署 Attu(Milvus 管理界面),具体可参考 Milvus 官方文档。
- 注意事项:
- 确保 Docker Desktop 已正常运行。
- Milvus 默认使用 19530 端口(可在 docker-compose.yml 中修改)。
- 启动后如需停止服务,可执行
docker-compose down。 - 如遇端口冲突或资源不足,请调整 Docker 配置或释放端口资源。
- 安装 Docker:
-
配置
- 编辑
src/main/resources/application.properties或application.yml,配置如下:# DeepSeek API配置 deepseek.api.url=https://api.deepseek.com/v1/chat/completions deepseek.api.key=your-deepseek-api-key # 文件存储路径 file.upload.path=./uploads # 数据库配置(开发默认H2,可切换MySQL/PostgreSQL)
- 编辑
-
启动后端服务
mvn spring-boot:run
-
访问前端页面
-
默认数据库为空,请先注册用户、创建课程等。
- 用户注册:
POST /api/auth/register
参数:username, password, role
- 用户登录:
POST /api/auth/login
参数:username, password, role
- 用户登出:
POST /api/auth/logout
- 获取/更新个人信息、修改密码、角色切换等
- 获取课程列表:
GET /api/teacher/courses?teacherId={teacherId}
- 上传课程资料:
POST /api/teacher/materials/upload
Content-Type: multipart/form-data,参数:courseId, file
- 生成教学大纲:
POST /api/teacher/outline/generate?courseId={courseId}
- 题库管理、考试发布、成绩统计、公告发布等
- 获取可选课程:
GET /api/student/courses
- 加入/退出课程:
POST /api/student/courses/join,POST /api/student/courses/leave
- 参加考试、提交作业、获取成绩、AI问答等
- 用户管理:
GET /api/admin/users,POST /api/admin/users,PUT /api/admin/users/{userId},DELETE /api/admin/users/{userId}
- 课程/考试/资料全局管理、合规报告、系统统计等
- 智能问答:
POST /api/ai-helper/chat
参数:userId, courseId, message
- 知识检索、内容生成、AI安全检测等
更多接口详见各Controller源码及前端JS模块。
- 页面与API:前端页面通过AJAX/Fetch等方式调用RESTful API,所有接口支持跨域。
- 主要页面说明:
teacher.html:教师端主界面,集成课程、资料、题库、考试、学情、公告等功能student.html:学生端主界面,集成选课、学习、考试、成绩、AI助手、消息等admin.html:管理端主界面,集成用户、课程、合规、统计等管理功能login.html:统一登录入口,支持多角色SmartEdu.html:智能问答与导航主页
- 数据流示例:
- 教师上传资料 → 后端解析 → 知识库入库 → 可用于AI出题/问答
- 学生提问 → AI助手检索知识库+大模型生成答案 → 返回前端展示
- 教师发布考试 → 学生参加 → 自动批改 → 成绩/错题统计 → 学情分析
- 前端JS模块:如
teacher-api.js、student.js、admin.js封装API调用逻辑,便于维护和扩展。
- 扩展性:
- 支持自定义题型、知识库格式、AI模型API
- 可扩展更多统计分析、个性化推荐、互动功能
- 安全与合规:
- API密钥、用户数据、文件上传等需妥善保护
- 合规政策可根据实际需求扩展,支持政策文档自动推送
- AI内容安全检测建议结合实际场景调整
- 部署建议:
- 生产环境建议使用MySQL/PostgreSQL,H2仅用于开发测试
- 文件存储路径、数据库连接等参数请根据实际环境配置
- 常见问题:
- DeepSeek API需有效密钥,否则AI相关功能不可用
- 文件上传大小默认限制为50MB,可在配置中调整
- 数据库为空时需手动创建初始数据
- 功能测试
- 访问 http://localhost:8080/login.html,注册并登录不同角色账号
- 教师端:测试课程创建、资料上传、出题、考试发布、学情分析、公告等
- 学生端:测试选课、学习、考试、成绩查询、AI问答、消息等
- 管理端:测试用户管理、课程/考试全局管理、合规报告、系统统计等
- API测试
- 使用 Postman、curl 或内置API测试页面,验证各端API接口
- 检查接口返回数据、错误处理、权限校验等
- 数据初始化与清理
- 系统启动时数据库为空,需手动注册用户、创建课程等
- 可通过管理端批量导入/删除数据
- 异常与安全测试
- 测试无权限访问、参数异常、文件超限、AI内容安全等场景
- 日志与监控
- 检查后端日志输出,关注AI调用、数据存储、异常处理等