打开一份几百页的PDF,然后花半小时决定"到底从哪开始学"——这个场景太常见了。整理章节、挑重点概念、做闪卡、出练习题,光是准备工作就够列进待办清单。
![]()
LazyLecture 想解决的就是这一段。它是一个本地运行的AI学习助手,把讲义笔记直接变成一份能用的复习包。核心思路很朴素:少花时间准备学习,多花时间真的学习。
用法是丢进一个文本型PDF或TXT文件,选一个复习强度,工具按笔记内容生成学习材料。强度分四档:
- Quick Study:一段精简摘要加恰好五个关键概念,不做闪卡、不出题,只给一个起点。
- 5分钟包:短摘要加一小批概念,适合快速过一遍。
- 15分钟包:更详细的复习材料,带闪卡和练习题。
- 30分钟包:更大的包,概念更多,闪卡和练习题也更全。
生成之后可以翻闪卡、揭晓答案、做测验、看分数和解析、复制复习笔记,也能把整包下载成 Markdown。界面是一只打瞌睡的树懒,配淡紫色主题——既然目的是让学习没那么压迫,界面本身就不该像另一份作业。
需要说清楚的是,这几档时长控制的是生成多少材料,不是承诺AI会在五分钟内把内容全部生成完。
推理跑在本地
模型用的是通过 Ollama 运行的 Qwen2.5 1.5B,推理在本地完成,不依赖托管式AI接口。流程大致是:上传文件后,FastAPI 后端抽取并整理文本;选定的学习格式决定提示词和输出上限;本地模型生成结构化材料;Pydantic 在返回前端之前校验响应结构。
前端用 React、TypeScript、Vite 和 CSS 搭建,PyMuPDF 负责PDF文本抽取,HTTPX 负责后端与 Ollama 之间的连接。前后端都补了测试——一个AI生成的复习包,如果在展示环节把应用搞崩了,那基本没什么用。
默认档位选 Quick Study 是有考虑的。小模型没必要在用户只想复习一个主题时,每次都生成一整本教科书的内容。Quick Study 用更小的输出预算,只发一次推理请求,不做自动重试。
文档较长时,后端会先挑选片段再送给模型。这能让输入保持可控,但也可能漏掉重要信息,应用会在出现这种情况时提醒用户。界面也没有做假的进度百分比,只显示已用时间和等待指示,而不是假装知道模型完成了多少工作。
开源模型是产品的一部分
用 Ollama 跑开放权重模型,意味着用户完成配置后可以在本地生成学习材料,不需要付费的云端AI接口,也不需要外部AI服务商的账号。在正常的本地流程里,讲义笔记可以留在用户自己的机器上,而不是送去托管服务做推理。
提示词可以查看,模型可以更换,输出上限可以调,校验逻辑也能自己改。AI 不是一只应用依赖别人来操作的黑箱。不过完全断网运行还没有验证过,这是团队想正经测一测的事。
做这个东西不只是让模型返回一段摘要。要琢磨给一个小模型送多少文本、怎么处理格式错误的 JSON、怎么让不同学习格式真的有用、怎么在不编造进度的前提下传达等待时间。还有一个教训:输出合法不等于输出正确。Pydantic 能校验响应的结构,但保证不了每张闪卡、每段解析都准确对应原始材料。
待改进的清单也不短:更好的来源引用,让生成内容能追溯回笔记;更强的接地检查以减少幻觉;扫描版PDF的OCR支持;长文档处理时不漏掉有用内容;长请求支持取消生成。
项目以 MIT 许可证开源,和 @pranitha_prakash_6c8f7ad7 一起完成。它不替代理解一个主题,也不替代下功夫本身,只是把那些重复的准备工作挪开一点。有时候,一次能完成的五分钟复习,比又一份永远用不上的完美学习计划更管用。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.