Skip to content
stdininPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

DeepMaker

基于多模态大模型的数字化教学资源制作系统

让课程资料成为可检索的知识,让教学想法成为可复用的资源。

私有知识库 · RAG 辅助生成 · 交互式 PPT · 多模态创作 · 教学资源管理

DeepBug 团队 · 中国软件杯 A1 赛题项目

功能概览 · 技术亮点 · 系统架构 · 本地运行


项目简介

DeepMaker 面向教师与学生,将课程资料整理、教案编写、习题生成、课件制作和资源管理整合到同一个工作台。用户可以上传自己的教材与讲义,建立私有知识库,再围绕课程主题生成教案、习题、PPT、教学配图和讲解语音。

项目采用 Vue 3 + Spring Boot + Spring AI 的前后端分离架构,通过 PostgreSQL / pgvector 支持结构化数据与知识检索,通过 阿里云 OSS 保存原始文件和生成成果,串联起“资料输入 → 内容创作 → 资源沉淀”的教学工作流程。

一个典型场景: 为一节课程上传参考讲义,建立知识索引,生成配套教案与练习题;确认并修改 PPT 大纲后选择模板生成课件,再补充教学插图与讲解音频,最后按学科、年级等标签管理成果。

功能概览

模块 核心能力 教学场景
用户与权限 注册登录、JWT 认证、角色划分与数据归属校验 为教师与学生提供个人工作空间
私有知识库 知识库组织、文档上传、分块处理、异步向量化 按课程或专题积累教材、讲义与参考资料
教案与习题 结合生成参数与知识库上下文,流式返回内容 编写教学设计、准备课后练习
交互式 PPT 创建会话、生成和编辑大纲、选择模板、生成课件 先打磨课程结构,再制作演示文稿
多模态交互 图像生成与理解、文字转语音、语音转文字 制作教学插图、讲解音频,辅助表达创作需求
资源管理 统一归档、标签分类、条件检索、编辑、预览与下载 查找、调整并复用已有教学成果

技术亮点

1. 让生成内容结合自己的课程资料

私有知识库采用“上传文档 → 建立向量索引”的两步式流程,将文件管理与 AI 处理分开。文档经解析、分块与嵌入后进入向量存储,生成时检索相关内容作为模型上下文,为教案和习题提供课程依据。

原始文件、文档元数据和向量索引分别由 OSS、业务数据表和 pgvector 承担,便于组织资料及管理文档生命周期。

2. PPT 创作过程可编辑、可分步推进

PPT 制作围绕会话组织:填写需求 → 生成大纲 → 修改大纲 → 选择模板 → 生成课件。用户在生成最终文件前即可调整内容结构,系统通过任务记录中的 session_data 保存会话中间数据,衔接大纲与课件生成阶段。

课件生成后,可继续制作配图与讲解语音,作为教学附件使用。

3. 用不同交互方式承接不同生成任务

任务类型 交互方式 作用
习题、教案、PPT 大纲 SSE 流式响应 在生成过程中逐步呈现内容
图片、语音等耗时任务 异步执行 + 任务状态查询 通过任务 ID 跟踪处理结果
生成后的教学资源 元数据入库 + 文件存储 支持后续分类、检索、编辑与下载

4. 从一次生成延伸到持续复用

生成成果进入统一的教学资源管理流程,通过资源类型、学科、年级等标签组织。用户可以调整名称、描述和内容,在后续备课时继续查找与复用,逐步积累自己的教学资料库。

系统架构

DeepMaker 系统架构图

系统按照客户端、服务层、业务层、公共技术层与基础设施层划分职责:前端承接创作交互,后端编排知识库、生成任务和资源管理,模型服务提供文本、图像与语音能力。

层次 技术组成 主要职责
前端交互 Vue 3、Vite、Element Plus、Pinia、Vue Router 页面展示、状态管理与创作流程
后端服务 Java 21、Spring Boot 3.4.6、Spring Security、JWT 业务接口、身份认证与访问控制
AI 集成 Spring AI、Spring AI Alibaba、DashScope SDK 模型调用、文本生成、嵌入与多模态处理
数据持久化 MyBatis-Plus、PostgreSQL、pgvector 用户与资源数据、任务状态、向量检索
文件与课件 阿里云 OSS、文多多 API 文件存储与 PPT 生成
设计部署环境 Nginx、Docker、龙芯平台 反向代理、容器部署与国产平台适配方案

架构图保留开发设计文档中的技术规划;具体依赖、模型名称和部署方式以当前代码与运行配置为准。图中的部署组件及平台适配不代表本次已完成环境验证。

数据流设计

用户认证、私有知识库、内容生成与教学资源管理之间的数据流

整个流程围绕四个业务环节展开:

  1. 身份认证:用户登录后获取令牌,后续请求携带身份信息。
  2. 知识准备:上传文件并保存元数据,按需执行文档向量化,形成可检索的课程知识。
  3. 内容生成:接收创作需求,结合知识库上下文调用模型,通过流式响应或异步任务返回结果。
  4. 资源沉淀:将成果文件和资源元数据保存,支持标签检索、内容编辑、下载与删除。

展示建议

演示时可以围绕同一门课程展开,完整呈现资料如何变成教学成果:

  1. 建一个课程知识库:上传讲义,展示文档列表与向量化状态。
  2. 生成一组教案或习题:选择课程资料与生成参数,展示内容逐步返回。
  3. 制作一份 PPT:生成大纲,现场修改一个章节,再选择模板生成课件。
  4. 补充教学附件:围绕同一主题生成配图或讲解语音。
  5. 回到资源库:通过标签找到成果,展示预览、编辑与下载。

目录结构

deepbug/
├── README.md                         # 项目展示入口
├── docs/images/                      # 功能结构、系统架构与数据流图
├── front/zhongruan-cup-web-agent/      # Vue 前端
│   └── src/
│       ├── api/                      # 业务接口封装
│       ├── components/               # 公共组件
│       └── views/                    # 知识库、资源创作与管理页面
└── back/zhongruan-cup-web-agent/       # Spring Boot 后端
    ├── pom.xml                       # Java 与依赖版本
    ├── src/main/java/                # 接口、业务服务与基础配置
    ├── src/main/resources/           # 应用配置与 SQL 脚本
    └── postman_*.json                # 按业务场景组织的接口测试集合

上方列出教学资源系统相关目录。

本地运行

环境准备

  • JDK 21、Maven:后端构建与运行。
  • Node.js 与 npm:安装前端依赖,版本需兼容项目使用的 Vite 4。
  • PostgreSQL + pgvector:保存业务数据与文本向量。
  • 模型与云服务配置:按使用功能准备 DashScope、阿里云 OSS 和文多多服务凭据。

配置后端

在本地配置中设置以下项目,配置入口为 application.yml:

配置项 配置内容
spring.datasource PostgreSQL 地址、数据库、账号及使用的 schema
spring.ai.dashscope 模型服务凭据、文本生成与嵌入等模型配置
spring.ai.vectorstore.pgvector 向量存储参数;向量维度需与实际嵌入模型一致
aliyun.oss Endpoint、Bucket 与访问凭据
jwt 本地 JWT 签名与过期时间配置
wenduoduo PPT 服务配置

数据库脚本位于 src/main/resources/sql/,包含多个版本。初始化前应核对目标 schema、表结构与向量维度,选择适用脚本,不要将所有版本重复执行。真实服务凭据请保存在本地配置或环境变量中。

在仓库根目录打开终端:

cd back/zhongruan-cup-web-agent
mvn spring-boot:run

默认后端地址为 http://localhost:8080,API 前缀为 /api。

启动前端

另开终端,在仓库根目录执行:

cd front/zhongruan-cup-web-agent
npm install
npm run dev

访问 http://localhost:3000。Vite 默认将 /api 请求代理到 http://localhost:8080;部分接口包含直连地址,修改后端端口时需同时核对相应请求配置。

前端构建命令:

npm run build

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages