在线教育系统设计方案

在线教育系统设计方案

1. 系统概述

本系统是一个现代化的在线教育平台,采用前后端分离架构,提供课程管理、用户管理、视频点播、直播互动等功能。

2. 技术栈选型

2.1 后端技术栈

  • 核心框架:Spring Boot 3.x
  • 数据库:MySQL 8.x
  • 持久层框架:MyBatis Plus
  • 缓存:Redis
  • 消息队列:RabbitMQ
  • 搜索引擎:Elasticsearch
  • 文件存储:阿里云OSS
  • 视频点播:阿里云视频点播服务

2.2 前端技术栈

  • 核心框架:Vue 3.x + TypeScript
  • 状态管理:Pinia
  • UI组件库:Element Plus
  • 构建工具:Vite
  • HTTP客户端:Axios

3. 系统架构

3.1 整体架构

  • 采用微服务架构
  • 使用Spring Cloud Alibaba作为微服务框架
  • Nacos作为注册中心和配置中心
  • Gateway作为网关
  • Sentinel实现熔断降级

3.2 核心服务模块

  1. 用户中心服务(user-service)
  2. 课程服务(course-service)
  3. 订单服务(order-service)
  4. 支付服务(payment-service)
  5. 消息服务(message-service)
  6. 视频点播服务(vod-service)

4. 数据库设计

4.1 用户相关表

-- 用户表
CREATE TABLE `user` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `username` varchar(64) NOT NULL,
  `password` varchar(128) NOT NULL,
  `nickname` varchar(64),
  `avatar` varchar(255),
  `phone` varchar(11),
  `email` varchar(64),
  `status` tinyint DEFAULT 1,
  `create_time` datetime,
  `update_time` datetime,
  PRIMARY KEY (`id`)
);

-- 角色表
CREATE TABLE `role` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  `code` varchar(64) NOT NULL,
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

4.2 课程相关表

-- 课程表
CREATE TABLE `course` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `title` varchar(128) NOT NULL,
  `cover` varchar(255),
  `price` decimal(10,2),
  `teacher_id` bigint,
  `description` text,
  `status` tinyint DEFAULT 0,
  `create_time` datetime,
  `update_time` datetime,
  PRIMARY KEY (`id`)
);

-- 课程章节表
CREATE TABLE `chapter` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `course_id` bigint NOT NULL,
  `title` varchar(128) NOT NULL,
  `sort` int DEFAULT 0,
  PRIMARY KEY (`id`)
);

5. 核心功能模块

5.1 用户模块

  • 登录注册
  • 个人中心
  • 权限管理
  • 角色管理

5.2 课程模块

  • 课程管理
  • 课程分类
  • 课程搜索
  • 课程评价

5.3 视频模块

  • 视频上传
  • 视频转码
  • 视频播放
  • 播放进度记录

5.4 订单支付模块

  • 订单管理
  • 支付集成
  • 退款处理

6. 安全设计

  • 使用Spring Security进行身份认证和授权
  • JWT实现无状态的用户认证
  • 数据传输使用HTTPS
  • 敏感数据加密存储

7. 性能优化

  • Redis缓存热点数据
  • Elasticsearch优化搜索
  • 使用CDN加速静态资源
  • 图片等媒体资源使用OSS存储

8. 部署方案

  • 使用Docker容器化部署
  • Kubernetes进行容器编排
  • 采用分布式部署架构
  • 实现高可用和负载均衡

9. 监控运维

  • 使用Prometheus + Grafana监控系统运行状态
  • ELK进行日志收集和分析
  • 配置服务器监控告警机制

10. 开发规范

  • 遵循阿里巴巴Java开发规范
  • 使用Git进行版本控制
  • 采用敏捷开发模式
  • 编写完善的技术文档

11. 项目进度规划

  1. 需求分析和技术选型(1周)
  2. 数据库设计和架构搭建(2周)
  3. 核心功能开发(8周)
  4. 测试和优化(3周)
  5. 部署上线(1周)

12. 系统接口设计

12.1 用户接口

// 用户登录
POST /api/user/login
// 用户注册
POST /api/user/register
// 获取用户信息
GET /api/user/info
// 更新用户信息
PUT /api/user/info

12.2 课程接口

// 课程列表
GET /api/course/list
// 课程详情
GET /api/course/{id}
// 创建课程
POST /api/course
// 更新课程
PUT /api/course/{id}
// 删除课程
DELETE /api/course/{id}

13. 数据库表补充

13.1 订单相关表

-- 订单表
CREATE TABLE `order` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `order_no` varchar(64) NOT NULL COMMENT '订单号',
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `status` tinyint DEFAULT 0 COMMENT '0未支付 1已支付 2已取消',
  `pay_type` tinyint COMMENT '1支付宝 2微信',
  `create_time` datetime,
  `pay_time` datetime,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_order_no` (`order_no`)
);

-- 支付记录表
CREATE TABLE `payment_log` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `order_no` varchar(64) NOT NULL,
  `transaction_id` varchar(64) COMMENT '第三方支付流水号',
  `pay_type` tinyint,
  `amount` decimal(10,2),
  `status` tinyint,
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

14. 缓存设计

14.1 Redis缓存策略

  • 用户信息缓存:
    Key: user:info:{userId}
    TTL: 30分钟
    
  • 课程信息缓存:
    Key: course:info:{courseId}
    TTL: 1小时
    
  • 热门课程缓存:
    Key: course:hot
    Type: Sorted Set
    TTL: 24小时
    

14.2 缓存更新策略

  • 采用Cache Aside Pattern
  • 写操作:先更新数据库,再删除缓存
  • 读操作:缓存未命中时,读取数据库并写入缓存

15. 消息队列应用

15.1 RabbitMQ队列设计

# 视频处理队列
video:
  exchange: video.exchange
  routing-key: video.process
  queue: video.process.queue

# 订单超时队列
order:
  exchange: order.exchange
  routing-key: order.timeout
  queue: order.timeout.queue
  dlx: order.dlx

15.2 消息处理场景

  • 视频转码异步处理
  • 订单超时自动取消
  • 课程购买成功通知
  • 系统消息推送

16. 前端架构设计

16.1 目录结构

src/
├── api/           # API接口
├── assets/        # 静态资源
├── components/    # 公共组件
├── hooks/         # 自定义hooks
├── layouts/       # 布局组件
├── router/        # 路由配置
├── stores/        # 状态管理
├── styles/        # 样式文件
├── types/         # TS类型定义
├── utils/         # 工具函数
└── views/         # 页面组件

16.2 状态管理设计

// 用户状态
interface UserState {
  userInfo: UserInfo | null;
  token: string | null;
  permissions: string[];
}

// 课程状态
interface CourseState {
  courseList: Course[];
  currentCourse: Course | null;
  loading: boolean;
}

17. 系统安全加固

17.1 接口安全

  • 接口签名验证
  • 防重放攻击
  • 接口限流
  • SQL注入防护

17.2 数据安全

  • 敏感数据加密存储
  • 传输数据加密
  • 数据备份策略
  • 用户隐私保护

18. 系统监控告警

18.1 监控指标

  • 系统CPU使用率
  • 内存使用情况
  • 接口响应时间
  • 业务异常统计
  • 并发用户数

18.2 告警规则

  • CPU使用率>80%
  • 接口响应时间>2s
  • 错误率>1%
  • 磁盘使用率>85%

19. 微服务功能设计

19.1 认证中心服务 (auth-service)

19.1.1 功能清单
  • 统一登录认证
  • 权限管理
  • 角色管理
  • Token管理
  • 单点登录(SSO)
19.1.2 数据库设计
-- 权限表
CREATE TABLE `permission` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL COMMENT '权限名称',
  `code` varchar(64) NOT NULL COMMENT '权限标识',
  `type` tinyint NOT NULL COMMENT '类型:1菜单 2按钮',
  `parent_id` bigint COMMENT '父级ID',
  `path` varchar(255) COMMENT '路由路径',
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

-- 角色权限关系表
CREATE TABLE `role_permission` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `role_id` bigint NOT NULL,
  `permission_id` bigint NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_role_perm` (`role_id`,`permission_id`)
);

19.2 用户中心服务 (user-service)

19.2.1 功能清单
  • 用户管理
  • 讲师管理
  • 学员管理
  • 个人中心
  • 学习记录
  • 收藏管理
19.2.2 数据库设计
-- 讲师表
CREATE TABLE `teacher` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `title` varchar(64) COMMENT '职称',
  `intro` text COMMENT '简介',
  `star_level` tinyint DEFAULT 0 COMMENT '星级',
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

-- 学习记录表
CREATE TABLE `study_record` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `last_study_time` datetime COMMENT '最后学习时间',
  `study_duration` int DEFAULT 0 COMMENT '学习时长(分钟)',
  `progress` int DEFAULT 0 COMMENT '进度(1-100)',
  PRIMARY KEY (`id`),
  KEY `idx_user_course` (`user_id`, `course_id`)
);

19.3 课程中心服务 (course-service)

19.3.1 功能清单
  • 课程分类管理
  • 课程内容管理
  • 章节管理
  • 课程审核
  • 课程上下架
  • 课程评价
  • 课程推荐
19.3.2 数据库设计
-- 课程分类表
CREATE TABLE `course_category` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  `parent_id` bigint DEFAULT 0,
  `sort` int DEFAULT 0,
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

-- 课程详情表
CREATE TABLE `course_detail` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `course_id` bigint NOT NULL,
  `introduction` text COMMENT '课程介绍',
  `outline` text COMMENT '课程大纲',
  `teaching_method` text COMMENT '教学方式',
  `assessment` text COMMENT '考核方式',
  PRIMARY KEY (`id`)
);

-- 课程资源表
CREATE TABLE `course_resource` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `course_id` bigint NOT NULL,
  `chapter_id` bigint,
  `title` varchar(128) NOT NULL,
  `type` tinyint COMMENT '1视频 2文档 3习题',
  `url` varchar(255),
  `size` bigint DEFAULT 0 COMMENT '文件大小',
  `duration` int DEFAULT 0 COMMENT '视频时长',
  PRIMARY KEY (`id`)
);

19.4 订单支付服务 (order-service)

19.4.1 功能清单
  • 购物车管理
  • 订单管理
  • 支付集成
  • 退款管理
  • 订单统计
  • 交易流水
19.4.2 数据库设计
-- 购物车表
CREATE TABLE `shopping_cart` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `create_time` datetime,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_user_course` (`user_id`,`course_id`)
);

-- 退款记录表
CREATE TABLE `refund_record` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `order_no` varchar(64) NOT NULL,
  `refund_no` varchar(64) NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `reason` varchar(255),
  `status` tinyint DEFAULT 0,
  `create_time` datetime,
  `success_time` datetime,
  PRIMARY KEY (`id`)
);

19.5 内容服务 (content-service)

19.5.1 功能清单
  • 问答管理
  • 评论管理
  • 笔记管理
  • 反馈管理
  • 举报管理
19.5.2 数据库设计
-- 问答表
CREATE TABLE `question` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `status` tinyint DEFAULT 0,
  `view_count` int DEFAULT 0,
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

-- 笔记表
CREATE TABLE `study_note` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `chapter_id` bigint,
  `content` text NOT NULL,
  `status` tinyint DEFAULT 1,
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

19.6 消息服务 (message-service)

19.6.1 功能清单
  • 站内消息
  • 邮件通知
  • 短信通知
  • 消息模板
  • 推送记录
19.6.2 数据库设计
-- 消息表
CREATE TABLE `message` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `type` tinyint NOT NULL COMMENT '消息类型',
  `title` varchar(128) NOT NULL,
  `content` text NOT NULL,
  `sender_id` bigint,
  `receiver_id` bigint,
  `status` tinyint DEFAULT 0 COMMENT '0未读 1已读',
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

-- 消息模板表
CREATE TABLE `message_template` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `code` varchar(64) NOT NULL COMMENT '模板编码',
  `type` tinyint NOT NULL COMMENT '1邮件 2短信',
  `title` varchar(128),
  `content` text NOT NULL,
  `params` varchar(255) COMMENT '参数列表',
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

19.7 存储服务 (storage-service)

19.7.1 功能清单
  • 文件上传
  • 文件管理
  • 视频转码
  • 视频切片
  • 资源同步
  • 文件预览
19.7.2 数据库设计
-- 文件资源表
CREATE TABLE `file_resource` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `file_name` varchar(255) NOT NULL,
  `file_type` varchar(32) NOT NULL,
  `file_size` bigint DEFAULT 0,
  `file_path` varchar(255) NOT NULL,
  `md5` varchar(32) COMMENT '文件MD5',
  `status` tinyint DEFAULT 1,
  `create_time` datetime,
  PRIMARY KEY (`id`),
  KEY `idx_md5` (`md5`)
);

-- 转码任务表
CREATE TABLE `transcode_task` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `resource_id` bigint NOT NULL,
  `status` tinyint DEFAULT 0,
  `definition` varchar(32) COMMENT '清晰度',
  `progress` int DEFAULT 0,
  `create_time` datetime,
  `complete_time` datetime,
  PRIMARY KEY (`id`)
);

20. 分布式服务设计

20.1 服务通信方案

20.1.1 同步通信
  • 服务间使用OpenFeign进行REST调用
  • 使用Sentinel进行服务熔断和限流
  • 请求链路追踪使用SkyWalking
20.1.2 异步通信
  • RabbitMQ消息队列
  • 延迟队列处理订单超时
  • 死信队列处理消息重试

20.2 分布式事务

  • Seata AT模式处理跨服务事务
  • TCC模式处理支付场景
  • SAGA模式处理长流程业务

21. 搜索服务设计

21.1 ES索引设计

{
  "course": {
    "mappings": {
      "properties": {
        "id": { "type": "long" },
        "title": { 
          "type": "text",
          "analyzer": "ik_max_word"
        },
        "description": {
          "type": "text",
          "analyzer": "ik_smart"
        },
        "teacherName": { "type": "keyword" },
        "category": { "type": "keyword" },
        "price": { "type": "double" },
        "studyCount": { "type": "integer" },
        "rating": { "type": "float" },
        "createTime": { "type": "date" }
      }
    }
  }
}

21.2 搜索功能

  • 课程全文检索
  • 分类筛选
  • 价格区间筛选
  • 综合排序
  • 热门推荐

22. 直播服务设计

22.1 功能清单

  • 直播间管理
  • 直播推流
  • 直播播放
  • 直播录制
  • 互动聊天
  • 礼物打赏

22.2 数据库设计

-- 直播间表
CREATE TABLE `live_room` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `title` varchar(128) NOT NULL,
  `cover` varchar(255),
  `teacher_id` bigint NOT NULL,
  `stream_key` varchar(64) NOT NULL,
  `status` tinyint DEFAULT 0,
  `start_time` datetime,
  `end_time` datetime,
  PRIMARY KEY (`id`)
);

-- 直播记录表
CREATE TABLE `live_record` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `room_id` bigint NOT NULL,
  `record_url` varchar(255),
  `duration` int DEFAULT 0,
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

23. 考试服务设计

23.1 功能清单

  • 试题管理
  • 试卷管理
  • 在线考试
  • 自动批改
  • 成绩管理
  • 错题本

23.2 数据库设计

-- 试题表
CREATE TABLE `question_bank` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `type` tinyint NOT NULL COMMENT '1单选 2多选 3判断 4简答',
  `content` text NOT NULL,
  `options` json COMMENT '选项',
  `answer` text NOT NULL,
  `analysis` text,
  `difficulty` tinyint DEFAULT 2 COMMENT '1易 2中 3难',
  PRIMARY KEY (`id`)
);

-- 试卷表
CREATE TABLE `exam_paper` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `title` varchar(128) NOT NULL,
  `course_id` bigint NOT NULL,
  `total_score` int DEFAULT 100,
  `pass_score` int DEFAULT 60,
  `duration` int DEFAULT 60 COMMENT '考试时长(分钟)',
  `start_time` datetime,
  `end_time` datetime,
  PRIMARY KEY (`id`)
);

24. 数据统计分析

24.1 统计维度

  • 用户增长统计
  • 课程销售统计
  • 学习行为分析
  • 付费转化分析
  • 教师绩效分析

24.2 数据仓库设计

-- 每日统计表
CREATE TABLE `daily_statistics` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `stat_date` date NOT NULL,
  `new_user_count` int DEFAULT 0,
  `active_user_count` int DEFAULT 0,
  `order_count` int DEFAULT 0,
  `order_amount` decimal(12,2) DEFAULT 0,
  `paid_count` int DEFAULT 0,
  `paid_amount` decimal(12,2) DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_date` (`stat_date`)
);

-- 课程统计表
CREATE TABLE `course_statistics` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `course_id` bigint NOT NULL,
  `view_count` int DEFAULT 0,
  `buy_count` int DEFAULT 0,
  `study_count` int DEFAULT 0,
  `complete_count` int DEFAULT 0,
  `income_amount` decimal(12,2) DEFAULT 0,
  `stat_date` date,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_course_date` (`course_id`, `stat_date`)
);

25. 系统集成方案

25.1 第三方服务集成

  • 阿里云OSS
  • 阿里云视频点播
  • 阿里云直播
  • 短信服务
  • 支付服务
  • CDN服务

25.2 开放平台API

  • OAuth2认证
  • 课程信息API
  • 订单支付API
  • 数据统计API
  • Webhook通知

26. AI技术应用设计

26.1 智能批改系统

26.1.1 功能清单
  • 客观题自动批改
  • 主观题智能评分
  • 作文自动评分
  • 错误分析
  • 改进建议生成
  • 知识点关联
26.1.2 数据库设计
-- AI评分记录表
CREATE TABLE `ai_score_record` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `answer_id` bigint NOT NULL,
  `question_id` bigint NOT NULL,
  `original_text` text NOT NULL,
  `score` decimal(5,2) NOT NULL,
  `analysis` text COMMENT '分析结果',
  `suggestions` text COMMENT '改进建议',
  `knowledge_points` json COMMENT '关联知识点',
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

-- 评分模型配置表
CREATE TABLE `score_model_config` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `model_name` varchar(64) NOT NULL COMMENT '模型名称',
  `question_type` tinyint NOT NULL COMMENT '题目类型',
  `parameters` json COMMENT '模型参数',
  `version` varchar(32) COMMENT '模型版本',
  `status` tinyint DEFAULT 1,
  PRIMARY KEY (`id`)
);

26.2 智能问答系统

26.2.1 功能清单
  • 课程内容问答
  • 学习辅导问答
  • 个性化解答
  • 知识图谱关联
  • 相似问题推荐
  • 答案质量评估
26.2.2 数据库设计
-- 知识库表
CREATE TABLE `knowledge_base` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `course_id` bigint NOT NULL,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `keywords` varchar(255) COMMENT '关键词',
  `category` varchar(64) COMMENT '分类',
  `vector` text COMMENT '向量数据',
  `create_time` datetime,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `idx_content` (`content`)
);

-- 问答记录表
CREATE TABLE `qa_record` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `question` text NOT NULL,
  `answer` text NOT NULL,
  `source_type` tinyint COMMENT '来源:1知识库 2模型生成',
  `confidence` decimal(5,2) COMMENT '置信度',
  `feedback` tinyint COMMENT '反馈:1有用 2无用',
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

26.3 学习行为分析

26.3.1 功能清单
  • 学习路径分析
  • 知识掌握度评估
  • 学习效果预测
  • 个性化推荐
  • 学习障碍诊断
  • 学习报告生成
26.3.2 数据库设计
-- 学习行为记录表
CREATE TABLE `learning_behavior` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint NOT NULL,
  `course_id` bigint NOT NULL,
  `resource_id` bigint NOT NULL,
  `behavior_type` tinyint COMMENT '1浏览 2下载 3笔记 4提问',
  `duration` int DEFAULT 0 COMMENT '停留时长(秒)',
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

-- 知识图谱表
CREATE TABLE `knowledge_graph` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(128) NOT NULL,
  `parent_id` bigint,
  `level` tinyint COMMENT '层级',
  `relations` json COMMENT '关联关系',
  `weight` int DEFAULT 0 COMMENT '重要程度',
  PRIMARY KEY (`id`)
);

26.4 AI模型服务集成

26.4.1 功能模块
# 批改模型服务
correction:
  - 文本相似度分析
  - 语法错误检测
  - 内容逻辑分析
  - 知识点覆盖评估

# 问答模型服务
qa:
  - 问题理解
  - 相关性匹配
  - 答案生成
  - 答案排序

# 推荐模型服务
recommendation:
  - 协同过滤
  - 内容推荐
  - 实时推荐
  - 冷启动处理
26.4.2 模型调用设计
# API接口设计
api:
  correction:
    - POST /api/ai/correction/essay
    - POST /api/ai/correction/question
    - GET /api/ai/correction/analysis

  qa:
    - POST /api/ai/qa/ask
    - POST /api/ai/qa/similar
    - GET /api/ai/qa/recommend

  recommendation:
    - GET /api/ai/recommend/course
    - GET /api/ai/recommend/resource
    - POST /api/ai/recommend/feedback

26.5 AI训练平台

26.5.1 功能清单
  • 数据采集
  • 数据标注
  • 模型训练
  • 模型评估
  • 模型部署
  • 效果监控
26.5.2 数据库设计
-- 训练数据集表
CREATE TABLE `training_dataset` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(128) NOT NULL,
  `type` tinyint COMMENT '1文本 2图像 3音频',
  `size` int DEFAULT 0 COMMENT '数据量',
  `status` tinyint DEFAULT 0,
  `create_time` datetime,
  PRIMARY KEY (`id`)
);

-- 模型训练记录表
CREATE TABLE `model_training` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `model_name` varchar(64) NOT NULL,
  `dataset_id` bigint NOT NULL,
  `parameters` json COMMENT '训练参数',
  `metrics` json COMMENT '评估指标',
  `status` tinyint DEFAULT 0,
  `start_time` datetime,
  `end_time` datetime,
  PRIMARY KEY (`id`)
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翱翔-蓝天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值