# xl-backend **Repository Path**: NBz/xl-backend ## Basic Information - **Project Name**: xl-backend - **Description**: 小鹿老师AI智能作业批改,基于 SpringBoot+Vue3 开发的 K12 教育AI平台,支持AI智能组卷、作业自动批改、作文批改、OCR 识别、学情分析,开源教育 AI 后端系统。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

小鹿老师AI智能作业批改

基于SpringBoot 3.x + Java 21开发的AI辅助教育平台

## 项目简介 小鹿老师是一款面向K12教育的AI个性化平台,旨在通过AI技术辅助老师完成组卷和作业批改等教学任务。 平台核心功能包括: - AI智能组卷:支持智能组卷、错题组卷、知识点组卷、分层组卷等多种组卷模式 - AI作业批改:自动批改学生作业,生成批改结果和详细报告 - AI答案生成:自动生成题目答案和解析 - 学情分析:提供学生报告、班级报告、知识点掌握分析等多维度数据分析 ## 中台技术栈 | 技术组件 | 说明 | 版本 | | :--- | :--- | :--- | | 核心框架 | Spring Boot | 3.5.6 | | 编程语言 | Java | 21 | | 持久层框架 | MyBatis Plus | 3.5.5 | | 关系型数据库 | MySQL | 8.0.36 | | 缓存中间件 | Redis | 7.2.4 | | 消息队列 | RocketMQ / Redis Stream | RocketMQ 5.1.4 / Redis Stream 7.2.4 | | AI 集成 | 支持与外部 AI 服务集成进行题目处理 | 支持OpenAI/国内大模型(如通义千问/文心一言)适配 | ## Python AI 服务 | 技术组件 | 说明 | 版本 | | :--- | :--- | :--- | | Web 框架 | FastAPI | 0.115.0 | | ASGI 服务器 | Uvicorn | 0.31.0 | | 数据校验 | Pydantic | 2.5.0 | | 模型上下文协议 | MCP / FastMCP | 0.9.0 / 0.2.0 | | 图像处理 | OpenCV-Python | 4.8.0 | | 数值计算 | NumPy | 1.24.0 | | PDF 处理 | PyMuPDF | 1.23.0 | | OCR 引擎 | RapidOCR | 4.0.0 | | 版面分析 | DocLayout-YOLO | 0.0.1 | | 对象存储 SDK | Aliyun OSS2 | 2.19.1 | | 日志工具 | Loguru | 0.7.0 | ## 前端技术栈 | 技术组件 | 说明 | 版本 | | :--- | :--- | :--- | | 核心框架 | Vue | 3.3.8 | | 构建工具 | Vite | 5.0.10 | | UI 组件库 | AntD(业务系统) | 5.12.8 | | UI 组件库 | Element Plus(AI配套系统) | 2.4.2 | | 开发语言 | TypeScript | 5.2.2 | | 状态管理 | Pinia (替代 vuex5) | 2.1.7 | | 工具库 | VueUse | 10.6.1 | | 国际化 | Vue I18n | 9.6.5 | | 路由管理 | Vue Router | 4.2.5 | | CSS 框架 | UnoCSS (原子 css) | 0.57.4 | | 图标库 | Iconify | 3.1.1 | | 富文本编辑器 | WangEditor | 5.1.23 | | Canvas | fabric | 7.1 | ## 模块说明 | 模块 | 说明 | | :--- | :--- | | ipta-server | 启动主模块 | | ipta-framework | 框架公共组件(WebSocket、MQ、Redis等) | | ipta-module-system | 系统管理模块(用户、权限、租户等) | | ipta-module-homework | 核心业务模块(作业、题目、组卷、批改等) | | ipta-module-oauth | 认证授权模块(OAuth2) | | ipta-module-report | 报表模块 | | ipta-module-ai | AI能力封装模块(统一对接多厂商大模型/OCR服务) | ## 作业/试题核心功能 ### 1. 组卷系统 - 智能组卷:根据章节、知识点自动选题组卷 - 错题组卷:根据学生错题记录智能生成复习试卷 - 知识点组卷:按指定知识点范围组卷 - 分层组卷:根据学生水平分层布置作业 - 个性化组卷:支持按学生学习节奏/薄弱点动态调整题目难度 ### 2. 作业管理 - 作业发布与布置 - 作业提交与跟踪 - 作业状态监控 - 作业批量点评:支持AI生成批量作业评语,支持手动编辑后下发 ### 3. AI批改 - 自动批改客观题 - AI辅助批改主观题 - 批改结果统计分析 - 手写识别优化:提升中小学生手写字体识别准确率至98%+ ### 4. 学情报告 - 学生个人报告:知识点掌握度、错题分布、学习趋势 - 班级报告:班级整体表现、分层分析、对比分析 - 教材章节分析、核心素养分析 - 家校互通报告:支持一键生成家长版学情报告,简化家校沟通成本 ## OCR识别和解析功能 ### 1. 试卷解析与切题 - 多格式解析:支持 PDF、Word、图片等教材/教辅文件上传解析 - 智能版面分析:自动识别题目区域、题号、题型和结构层级 - 自动切题出图:按题目边界批量裁切并生成题目图片 - 分页处理能力:支持多页试卷按页加载、按页编辑、按页保存 - 多语种支持:新增英文/数学公式/OCR识别适配 ### 2. 可视化标注与编辑 - 题框可视化编辑:支持题目边界框拖拽、缩放、微调 - 答题区标注:支持答题区域新增、修改、删除与批量管理 - 画布联动操作:题目树、画布、属性面板三方联动高亮 - 重叠对象反选:支持重叠区域对象切换与锁定编辑(题框/答题框) - 快捷键操作:新增批量编辑快捷键,提升标注效率30%+ ### 3. 编辑态数据管理 - 编辑中间态管理:通过 edit.json 管理可视化编辑数据 - 懒加载机制:按页加载编辑数据,降低大文档加载压力 - 脏页保存机制:仅保存变更页,减少重复写入和网络请求 - 版本并发控制:支持 base_version/edit_version 校验,避免多人覆盖 - 自动备份:新增编辑数据自动备份机制,防止意外丢失 ### 4. 重切题与结果发布 - 保存并切题:将编辑结果一键应用并触发重新切题 - 结果回写同步:将编辑后的结构化结果回写 document_result - 批量生成输出:输出题目切图、结构化 JSON、页级统计信息 - 异步上传 OSS:切题结果与结构化文件上传对象存储并可追踪 - 多格式导出:支持切题结果导出为Excel/Word/PDF格式 ### 5. 作业批改与作文批改 - 作业批改:上传作业图片后进行视觉理解与答案匹配 - 作文批改:作文 OCR 提取后进行内容分析、评分与建议生成 - 多模态分析:结合 OCR 与 LLM 提升语义理解能力 - 后台任务化处理:主流程快速响应,详细结果异步回调 - 作文批改增强:支持作文错别字/病句/标点自动纠错,提供润色建议 ### 6. 流程监控与任务管理 - 任务全链路跟踪:支持批次、文档、页级处理状态监控 - 历史任务回溯:支持从历史记录恢复并继续可视化编辑 - 异常重试机制:失败任务可重试并继续后续处理 - 进度可视化:支持解析进度、日志、结果状态实时展示 - 任务优先级:新增任务优先级配置,支持紧急任务插队处理 ### 7. 系统架构能力 - Pipeline 流水线:预处理、OCR、对齐、切题、组装模块化编排 - 策略化切题:按题型/场景使用不同切题策略 - 云端+本地引擎:支持本地 OCR 与阿里云 OCR 混合能力 - 高并发与可扩展:支持批量任务处理、异步队列和服务解耦 - 容器化部署:新增Docker Compose一键部署脚本,简化环境搭建 ## 测试账号 | 账号 | 密码 | 说明 | | :--- | :--- | :--- | | 13866666666 | Aa123456 | 测试账号 | | 13888888888 | Aa123456 | 管理员测试账号 | ## 快速开始 ### 环境要求 - JDK 21+ - Maven 3.8+ - MySQL 8.0+ - Redis 6.0+ - Docker 20.10+(可选,用于容器化部署) ### 构建部署 ```bash # 克隆项目后,进入项目根目录 cd ipta-backend # 打包构建 mvn clean install -DskipTests # 启动服务(需配置数据库、Redis等) cd ipta-server mvn spring-boot:run # 容器化部署(新增) # docker-compose up -d