一份自己攒了多年的题库,是教练机构、备考老师、大学教授和培训师最值钱的家当。可要用AI出卷,第一步往往就是把资料传到云端API——对这些人来说,这一步就是交易终止的地方。
![]()
VaultExam AI 给出的方案很直接:100%本地运行,把一章内容(任何格式)变成可直接打印的试卷加答案,还能就同一份文档提问,答案带页码引用。没有云调用,没有按token计费。
它瞄准的付费人群很明确:独立辅导机构、备考家教、大学教授、企业培训师。这些人的笔记和题库是知识产权,不愿意上传到云端;同时他们每周还要花好几个小时手打模拟卷、DPP和A/B卷变体。
它具体做四件事
- 上传任意格式的笔记,本地切块并向量化,文件在入库后立刻从磁盘删除。
- 就文档提问,答案只来自你的笔记,并附页码引用。
- 生成试卷:可选机构名、考试类型(辅导模拟考、大学期中、企业SOP测验)、难度(记忆、应用、分析/边缘案例),以及选择题、简答、长答的数量。
- 出A/B/C卷:每套抽取文档的不同部分,避免与前面的题目重复。
答案册一并给出:选择题答案带解析,简答和长答有示范答案、评分要点,每道题都标注来源页码,方便老师核对。浏览器里直接打印或存成PDF。
技术栈全部落在用户自己的机器上
后端是 Java 21、Spring Boot 4.1.1 和 Spring AI 2.0.1;大模型用开放权重模型 qwen3.5:4b,由本地 Ollama 提供服务;向量化用 nomic-embed-text,同样走 Ollama;向量库是 PostgreSQL 加 PGVector,通过 Docker Compose 起 pgvector/pgvector:pg16,并按 document_id 做元数据过滤。
入库环节用 Spring AI 的 TikaDocumentReader 和 PagePdfDocumentReader,保证每个切块都保留页码,再交给 TokenTextSplitter 切分。前端只有一个 Next.js 页面(TypeScript、Tailwind),输出靠 window.print()。
出卷流程是:从文档里检索一批切块样本,分几次结构化输出调用让模型分别给出选择题、简答和长答,然后逐条校验——题目数量、是否正好四个选项、答案索引是否有效,本地模型返回坏JSON就重试。每套卷用不同的种子样本,再加一份“不要重复这些题”的清单。
小模型踩过的坑
qwen3.5 这类推理模型可能把整个token预算花在“思考”上,返回空答案,JSON解析直接崩掉。解决办法是在 Ollama 选项里关掉思考。Ollama 默认的上下文窗口会悄悄截断长RAG提示,于是调大 num-ctx,并调整每次调用检索的切块数量。小模型有时返回裸JSON数组而不是对象,解析和校验代码得同时处理这两种情况并重试。
为什么这件事和开放创新有关?如果依赖闭源API,这个产品根本卖不给它的目标客户——把题库发给第三方是底线问题。开放权重模型让整条流水线跑在客户自己的机器里,也改变了成本结构:生成一百份卷子花的是电费,不是token费,家教晚上11点重出B卷不用盯着账单。技术栈是开放的,机构硬件允许时还能换成更大的模型。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.