1、立项背景和目标:面向备考学生,学习资料分散、整理复习成本高、缺少自测与反馈。项目目标是把用户上传的课件/笔记/
PDF等资料进行处理与检索,通过大模型生成结构化复习笔记和模拟试卷,并提供搜索与导出能力,提升复习效率与练习质量。
2、软件功能、核心功能模块:资料管理(上传/解析/
分段与索引)、RAG检索(按材料与主题召回相关内容)、复习笔记生成(流式输出)、模拟试卷生成(按题型/数量
/难度配置)、在线作答与批改(客观题自动判分+主观题智能批改)、智能搜索(带引用
/脚注规范输出)、历史记录与PDF导出。
3、业务流程、功能路径描述:上传学习资料→系统解析/索引→选择功能入口(复习/出题/搜索)→选择材料与参数(细
致程度/难度/题型等)→生成结果(实时展示)→保存到历史→导出PDF/再次查看/删除管理。
整体架构和设计思路/技术栈:前端采用Next.js+TypeScript(页面/组件化渲染,Fetch处理SSE流式数据),后端采
用FastAPI+Uvicorn(API分层:schemas/endpoints/services),LLM接入OpenA
I兼容接口(AsyncopenAI,支持流式生成),检索侧用本地向量/关键词召回(sciki
t-learn),数据与历史记录落地本地JSON文件,支持PDF导出。
2、我的负责模块和结果:我主要负责后端LLM生成链路与接口稳定性(复习笔记SSE错误兜底、试卷生成JSON解析与校验、搜
索引用规则约束)及前端错误提示优化;共修复/
完善3处关键问题,使生成失败时能返回明确可重试的错误信息,并新增一键启动脚本把启动流程从多条命令简化为双击。
3、难点/坑与解决方案:大模型输出易出现代码块包裹/
非严格JSON、限流429导致流中断、以及提示词中花括号引发运行时错误;通过转义提示词、清洗与正则提取JSON、逐题校验跳
跳异常项、SSE生成器try/except并发送type:error事件等方式解决,保证前端不再只看到“network error”。