Files
jiaoyu/docs/architecture.md
Zhang Jing Xuan 0841b1a103 智教助手平台:完整初始化
- 前端:Vue3 + TS + Element Plus,24 个页面路由(课件/组题/教案/动画/思维导图/作文批改/命题/课堂/资源/社区等)
- 后端:FastAPI + SQLAlchemy + SQLite,17 个路由模块,AI 服务层含降级模板
- AI:glm-5.x 推理模型已禁用思维链,确保输出真实内容
- 修复:ai_service 两处请求体注入 enable_thinking/thinking disabled
- 测试账号:13900999999 / test1234
2026-07-29 16:29:10 +08:00

8.1 KiB

系统架构设计

整体架构

┌─────────────────────────────────────────────────────────┐
│                      Nginx 反向代理                       │
├────────────────────────┬────────────────────────────────┤
│   前端 (Vue 3 SPA)     │      静态资源 / CDN              │
├────────────────────────┴────────────────────────────────┤
│                   API Gateway (FastAPI)                   │
├──────────┬──────────┬──────────┬──────────┬─────────────┤
│  认证模块  │  课件模块  │  AI模块   │  课堂模块  │   社区模块    │
├──────────┴──────────┴──────────┴──────────┴─────────────┤
│              服务层 (Business Logic)                      │
│  ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────────┐  │
│  │AI服务   │ │课件引擎  │ │动画引擎 │ │ 练习生成引擎  │  │
│  └─────────┘ └──────────┘ └─────────┘ └──────────────┘  │
├─────────────────────────────────────────────────────────┤
│              数据层 (Data Layer)                          │
│  ┌──────────┐  ┌──────────┐  ┌─────────────────────┐   │
│  │PostgreSQL │  │  Redis   │  │   文件存储 (OSS)     │   │
│  └──────────┘  └──────────┘  └─────────────────────┘   │
└─────────────────────────────────────────────────────────┘

模块划分

1. 用户与认证模块 (auth)

  • 教师注册/登录 (手机号 + 验证码)
  • JWT Token 认证
  • 角色权限管理 (教师/管理员)
  • 个人信息管理

2. AI课件生成模块 (courseware)

核心流程:

教师输入 → AI理解意图 → 结构化课件大纲 → 逐页生成内容 → 互动元素注入 → 预览/编辑 → 发布

子功能:

  • 文本输入 → 课件生成
  • 语音输入 → 转写 → 课件生成
  • 上传教材/文档 → 内容提取 → 课件生成
  • 课件模板管理
  • 课件在线编辑 (富文本 + 互动组件)

3. 教学动画模块 (animation)

动画类型:

  • 数学: 函数图像动画、几何变换、公式推导
  • 物理: 力学模拟、电路实验、光学实验
  • 化学: 分子结构、化学反应过程
  • 通用: 流程图动画、时间轴动画

技术实现:

  • 基于 Canvas/SVG 的动画引擎
  • AI生成动画参数配置 (JSON Schema)
  • 动画模板库 + 自定义动画

4. 互动练习模块 (exercise)

练习类型:

  • 游戏化练习: 贪吃蛇(单词)、消消乐(配对)、闯关
  • 选择题 / 判断题 / 填空题
  • 拖拽排序 / 连线匹配
  • 口语跟读 (语音识别)
  • AI自适应出题

生成流程:

知识点/单词表 → AI分析 → 选择游戏模板 → 生成题目 → 预览 → 发布

5. 教案生成模块 (lesson-plan)

  • 根据课程标准和知识点生成教案
  • 教案模板: 导入→新授→练习→总结→作业
  • 支持自定义教案结构
  • 教案与课件/练习关联

6. AI命题模块 (exam)

  • 按知识点、难度、题型智能组卷
  • 题型支持: 选择、填空、判断、简答、计算
  • 题目去重与相似度检测
  • 自动生成答案与解析

7. 作文批改模块 (essay)

  • 多维度评分: 内容、结构、语言、书写
  • 逐段/逐句批注
  • 优秀范文推荐
  • 常见错误统计分析

8. 课堂互动模块 (classroom)

  • 在线授课 (WebRTC)
  • 实时白板 (Canvas)
  • 计时器 / 随机点名
  • 课堂答题器 (实时统计)
  • 课堂评价

9. 资源库模块 (resource)

  • 个人资源管理
  • 课件/动画/教案收藏
  • 标签分类与搜索
  • 资源版本管理

10. 教师社区模块 (community)

  • 资源发布与分享
  • 经验交流帖
  • 点赞/评论/收藏
  • 关注体系

数据库设计 (核心表)

-- 用户表
users: id, phone, name, avatar, subject, school, role, created_at

-- 课件表
coursewares: id, user_id, title, subject, grade, description, 
             content(JSON), status, version, created_at, updated_at

-- 动画表
animations: id, user_id, title, type, config(JSON), 
            thumbnail, status, created_at

-- 练习表
exercises: id, user_id, title, type, questions(JSON), 
           subject, knowledge_points, created_at

-- 教案表
lesson_plans: id, user_id, title, subject, grade, content(JSON),
              objectives, key_points, created_at

-- 试卷表
exams: id, user_id, title, subject, questions(JSON), 
       answers(JSON), duration, total_score, created_at

-- 资源表
resources: id, user_id, type, title, content_ref, 
           tags, downloads, likes, status, created_at

-- 社区帖子表
posts: id, user_id, title, content, type, tags,
       views, likes, comments_count, created_at

-- 评论表
comments: id, post_id, user_id, content, created_at

AI服务架构

┌──────────────────────────────────────┐
│            AI Service Layer          │
├──────────────────────────────────────┤
│                                      │
│  ┌────────────┐  ┌────────────────┐  │
│  │ Prompt模板  │  │  教育知识库     │  │
│  │ 管理       │  │  (RAG)         │  │
│  └────────────┘  └────────────────┘  │
│                                      │
│  ┌────────────────────────────────┐  │
│  │        LLM API 调用层          │  │
│  │  (OpenAI / 自研模型 / 本地模型) │  │
│  └────────────────────────────────┘  │
│                                      │
│  ┌────────────────────────────────┐  │
│  │        输出处理与验证          │  │
│  │  (JSON Schema验证/安全过滤)    │  │
│  └────────────────────────────────┘  │
│                                      │
└──────────────────────────────────────┘

Prompt 工程

每种AI功能对应一套精心设计的Prompt模板:

  1. 课件生成Prompt: 输入教学意图 → 输出结构化课件JSON
  2. 动画生成Prompt: 输入知识点 → 输出动画参数配置
  3. 练习生成Prompt: 输入知识点/单词 → 输出游戏化练习数据
  4. 教案生成Prompt: 输入课程信息 → 输出结构化教案
  5. 命题Prompt: 输入知识点/难度 → 输出题目+答案+解析
  6. 批改Prompt: 输入作文 → 输出评分+批注+建议

安全设计

  • JWT认证 + Refresh Token
  • API限流 (Redis)
  • 输入校验 (Pydantic)
  • XSS/CSRF防护
  • 文件上传安全检查
  • 数据库参数化查询
  • 敏感信息加密存储