1.本项目开发了一个AI智能学习系统,通过集成DeepSeek大模型API ,实现题目智能解答、作业自动批改、试卷生成与PDF导出等功能,为学习者提供一站式的智能化学习辅助平台,助力提升学习效率
2.本系统基于 Flask 后端框架构建,核心功能模块包括:①用户认证模块,采用 Flask-JWT-Extended 实现 JWT Token 身份鉴权,覆盖注册、登录及 Token 自动续期与过期回收,保障接口安全;②题目管理模块,支持 TXT、PDF、DOCX 多格式文件上传,通过 PyPDF2、python-docx 及 Tesseract OCR 编写解析器自动提取题目文本与结构化信息,并存入 MySQL 数据库;③向量检索模块,将题目文本经 text-embedding 模型向量化后存入 Qdrant 向量数据库,支撑相似题检索与智能推荐;④AI 答疑与批改模块,对接 DeepSeek 大模型 API,开发单题实时解答与批量文件智能批改接口,批改流程中引入 RAG 思路,利用 Qdrant 检索历史优质题解作为上下文增强,提升判题准确率;⑤试卷生成模块,使用 ReportLab 动态生成含 LaTeX 公式的 PDF 试卷,编写公式转换适配层确保数学符号正确渲染;⑥学习分析模块,基于 PracticeLog 模型记录用户练题、组卷、AI 答疑等行为轨迹,结合向量检索日志探索用户错题聚类与薄弱知识点挖掘。
3.系统核心业务流程如下:用户完成注册登录后,系统签发 JWT Token 进行身份鉴权,后续所有接口请求均需携带有效 Token。在题目录入环节,用户上传 TXT/PDF/DOCX 格式的题目文件,系统调用对应解析器提取题目文本及结构化信息,一方面写入 MySQL 进行持久化存储,另一方面通过 embedding 模型向量化后写入 Qdrant 向量库。在 AI 答疑场景中,用户提交单道题目,系统直接调用 DeepSeek 大模型 API 返回实时解答;在批量批改场景中,系统先解析上传的作业文件,再通过 Qdrant 检索相似的历史优质题解作为上下文,结合 RAG 思路增强大模型批改效果,最终返回批改结果与学习建议。试卷生成场景中,用户选择或筛选题目后,系统动态组装试卷内容,通过 ReportLab 生成 PDF 文件,适配层将 LaTeX 公式转换为可渲染格式,确保数学符号正确显示后供用户下载。此外,系统全程记录用户练题、组卷、AI 答疑等行为数据,通过统计接口支撑学习行为分析,并基于向量检索日志进行错题聚类,辅助挖掘用户的薄弱知识点。
1、整体架构和设计思路:
系统采用前后端分离的模块化架构,基于 Flask + Flask-RESTful 构建 RESTful API。自上而下分为六层:接入层用 Flask-JWT-Extended 实现 JWT 鉴权;业务层含题目管理、试卷组装、AI 答疑、智能批改等模块;数据层用 MySQL + SQLAlchemy 存储结构化数据;向量层采用 Qdrant 存储题目 embedding;AI 层对接 DeepSeek 大模型,配合 text-embedding 实现向量化;文件层集成 PyPDF2、python-docx、Tesseract OCR 做多格式解析,用 ReportLab 生成含 LaTeX 公式的 PDF。核心设计思路是以 RAG 架构将向量检索与大模型结合,提升 AI 解答准确性。
2、负责模块和结果:
本人负责后端核心开发:①搭建 JWT 认证体系,覆盖注册、登录、Token 续期与回收,接口安全覆盖率100%;②开发题目管理模块,编写 TXT/PDF/DOCX 三种解析器,支持 OCR 识别扫描件,题目提取准确率90%+;③对接 DeepSeek 开发单题解答与批量批改接口,引入 RAG 后批改准确率提升15%-20%;④开发 PDF 试卷生成模块,编写 LaTeX 公式适配层,确保数学符号正确渲染;⑤设计 PracticeLog 日志模型,开发学习行为统计接口,初步实现错题聚类与薄弱点挖掘;⑥编写 Postman 测试用例80+,覆盖正常/异常/边界场景;⑦提出的 RAG 知识库答疑方案获团队采纳并落地。
3、难点与解决方案:
主要难点:①多格式文件解析乱码、公式无法识别——引入 Tesseract OCR 处理扫描件,编写格式适配层,公式标记保留;②大模型批改标准不稳定——引入RAG 检索历史优质题解注入 prompt,判分有参考依据;③LaTeX 公式在 PDF 中乱码——编写转换适配层,转成 ReportLab 支持的富文本或预渲染图片嵌入;④Token 安全与体验难平衡——设计双 Token 机制,实现自动续期与过期回收;⑤向量与结构化数据协同慢——向量库 payload 冗余关键元信息,批量回查 MySQL,响应从秒级降至百毫秒级。