面向中学生的AI学习分析工具,通过学生主动上传试卷原卷、答题卡图片及个人答题情况,结合内置教材知识库与多模态AI模型,提供"错因诊断-知识点定位-改进建议"的闭环学习支持。产品采用轻量化架构,不依赖学校内部API,实现快速部署与使用。
(此为首届全国青少年人工智能大赛项目,基于vibe coding+手动调整实现)
- 后端框架: Python 3.10 + Flask 2.3.3
- 前端技术: 原生HTML5 + CSS3 + JavaScript (ES6)
- 依赖库: requests 2.31.0, python-dotenv 1.0.0, Pillow 10.0.0, PyPDF2 3.0.1
- 数据库: SQLite3 (嵌入式数据库)
- 文件存储: 本地文件系统
- 部署方式: 单机可执行包
TestAgent/
├── app.py # Flask主应用(所有后端逻辑)
├── config.py # 配置文件(API密钥、路径等)
├── requirements.txt # Python依赖清单
├── .env.example # 环境变量示例
├── README.md # 项目说明文档
├── static/ # 静态资源
│ ├── css/
│ │ └── style.css # 所有样式
│ ├── js/
│ │ ├── main.js # 主页面JavaScript逻辑
│ │ └── report.js # 报告页面JavaScript逻辑
│ └── uploads/ # 用户上传文件存储
├── templates/ # HTML模板
│ ├── index.html # 主页面(上传+聊天)
│ └── report.html # 报告展示页面
├── knowledge/ # 知识库
│ └── math.txt # 数学知识点(示例)
└── data/ # 数据存储目录
└── database.db # SQLite数据库文件
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境(Linux/macOS)
source .venv/bin/activate
# Windows
# .venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt# 复制环境变量示例文件
cp .env.example .env
# 编辑.env文件,配置必要的环境变量
# 包括API密钥、上传目录路径等python app.py- 开发环境:http://127.0.0.1:5000
- 生产环境:根据实际部署配置访问地址
- 试卷原卷: 支持PDF/图片格式上传
- 答题卡图片: 支持JPG/PNG格式上传
- 答题情况: 支持文本输入或图片格式上传
- 拖拽上传: 提供拖拽文件上传功能
- 文件预览: 实时预览上传文件内容
- AI分析对话: 基于上传材料进行多轮对话
- 错因诊断: 结合评分标准分析错题原因
- 知识点定位: 检索教材知识库相关内容
- 改进建议: 提供个性化学习改进建议
- 报告生成: 一键生成"知识点分析、错因分析、改进建议"结构化报告
- 历史报告: 按时间排序的历史报告列表
- 报告操作: 支持查看、删除报告功能
- 数据持久化: 报告数据本地存储
- 会话历史: 聊天会话的历史记录与选择
- 会话操作: 支持新建、重命名、删除会话
- 状态管理: 会话状态的持久化存储
基于PRD和TECH_DESIGN文档规划,未来可扩展以下功能:
- 多学科支持: 扩展知识库支持数学、物理、化学等多学科
- 教师管理端: 为教师提供班级整体错题分布分析功能
- 学习进度跟踪: 基于历史错题记录的学习进度可视化
- 移动端优化: 深度适配移动端设备使用体验
- 离线模式: 支持离线环境下基础错题分析功能
- API扩展: 提供标准化API接口供第三方集成
- 智能推荐: 基于错题历史的个性化学习资源推荐
- 环境配置: 确保正确配置.env文件中的环境变量
- 文件权限: 确保上传目录有正确的读写权限
- 浏览器兼容: 推荐使用Chrome、Edge、Safari等现代浏览器
- 资源限制: 注意上传文件大小限制和存储空间管理