Skip to content

[Feature]: 解决大部头教材(如初中课本)解析崩溃问题:引入“章节分块 UI”与“轻量级 AI 图片过滤”路由机制 #335

@Ethan-YoungQ

Description

@Ethan-YoungQ

Problem or Motivation

  1. 背景与痛点 (Background & Pain Point)
    在尝试将 OpenMAIC 用于“辅导初中生自学”的真实场景时,我发现项目存在一个严重的可用性瓶颈。
    当我上传一本标准的初中课本时,由于文件字节数以及极其严格的图片数量限制(目前似乎受限于 20 张图片),程序会直接报错并崩溃。对于绝大多数包含图文的教材或长篇书籍来说,这个限制导致项目在实际学习场景中处于不可用的状态。

Proposed Solution

  1. 提议的解决方案 (Proposed Solutions)
    为了让程序真正能跑起来,并显著降低 API 的调用成本,我建议引入一个预加载与路由机制,具体分为两个层面:

A. 文档切片与前端章节选择 (Document Slicing & Chapter Selection UI)
机制:在将长文档完整喂给解析模型之前,先进行文档切片,按“章”和“节”对内容进行结构化划分。

交互:在前端增加一个中间界面。用户上传整本书后,界面会解析出目录,让用户勾选“本次预加载/学习哪一章哪一节”。

收益:通过限制单次处理的上下文范围,彻底解决超长文本和超量图片导致的最大 token 限制崩溃问题。

B. 引入轻量级模型进行图片过滤 (Pre-routing Image Filtering using lightweight models like Gemini Flash)
机制:一本典型的初中教材中,有 30% 到 40% 的图片是纯装饰性或与核心学习逻辑无关的。我建议在主干流程前加入一个预处理路由。

工作流:调用低成本、高速度的多模态大模型(如 Gemini Flash),让模型快速判定提取出的图片是否对“学习理解”有效。剔除掉无效的装饰图片,并对保留的有效图片进行适当的压缩处理。

收益:只保留高价值图片进入最终的深度解析环节,极大地减轻了程序的运行压力,同时为用户节省了大量核心大模型(如高阶模型)的 API 费用。

  1. 预期的贡献 (How I plan to contribute)
    我认为这个机制对 OpenMAIC 在教育场景的落地至关重要。我非常希望能将这个思路贡献到项目中。目前已经在用Claude code在本地做开发

Alternatives Considered

方案B:整页截图法(把每页PDF渲染成图片直接喂给Gemini)

优点:零文本提取、零图片提取、完美保真
缺点:极其费token(每页都是一张大图)、只有Gemini/Claude能做、成本高
判断:对于初中生日常自学来说,成本太高,不推荐

方案C:RAG问答模式(把课本建成知识库,学生聊天提问)

优点:不受图片/文本限额影响
缺点:完全放弃了OpenMAIC的互动课堂、幻灯片、测验等优势
判断:偏离了使用OpenMAIC的初衷,不推荐

Area

Other

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions