当前位置: 首页 > backend >正文

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要

拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 + 向量 HNSW)并以大语言模型兜底”的整体框架:

  1. 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用 CRNN/SVTR 识别文本、Faster-RCNN + MER 解析公式、YOLOv5 提取几何图,并在 ≈ 200 ms 内输出结构化结果。qiye.chinadaily.com.cn cn.chinadaily.com.cn

  2. 语义检索层 把题干关键词与 BERT/BGE-M3 生成的句向量写入 Havenask 索引,通过倒排和向量双路召回在 P99 < 10 ms 命中逾 3 亿题库;若得分不足,再交由 gBDT/LTR 精排。infoq.cn  53ai.com

  3. 答案渲染层与 LLM 兜底 95 %以上的题目直接返回数据库内已审核解析;冷门或改编题则走检索增强的大模型(自研 20–30 B + 端侧 MiniCPM-2B-Int4)生成步骤化解析,整体峰值可支撑 100 万次/分钟的拍题请求。cn.chinadaily.com.cn infoq.cn

这一“识别-检索-生成”三段式设计,结合 GPU 并行推理与 Havenask 存算分离优化,构成了作业帮拍照搜题“秒出、准出”的核心技术壁垒。

 

拍照问题,返回题库答案在一个有图片有表格有公式的问题中,很明显这是一个需要涉及到多模态的过程~

下面是这个过程:

 

 

在公开访谈、技术大会 PPT、官方产品页与多家媒体报道里,对外披露的“拍照搜题”技术细节大致可以归纳为 “三层管道、两级检索、兜底大模型” 的工程体系。下面先给出关键参数一览,再按技术栈逐层展开。


关键规模 & 性能参数

维度最新公开数字主要出处
题库规模3 亿+ 道精标题目;App Store 海外版宣称累计 19 亿 题数据(pitchhub.36kr.com, apps.apple.com)
索引引擎Havenask (阿里开源),单集群支持千亿文档、百万 QPS(blog.csdn.net)
OCR 流水线30 + 深度模型级联、260 次 神经网络推理 / 张(qiye.chinadaily.com.cn, iheima.com)
单张识别时延200 ms 端到端(news.qq.com)
峰值并发100 万次/分钟 搜题请求(news.qq.com)
命中率OCR + 检索命中正确解析 > 95 %(fashion.chinadaily.com.cn)

提示:“参数”在官方语境里更偏向 系统规模、模型条数、延迟与准确率,而非单一 LLM 的参数量。


一、图像 & 多模态识别层

1. OCR 主干

  • 超分 + 去噪 + 倾斜校正 预处理后,文本行进入 CRNN / SVTR / ViT-STR 等开源架构的自研模型;竖排、手写体与英数混排均做多字典纠错。(iheima.com)

  • 数学公式区先经 Faster-RCNN 检测,再用 Transformer-based MER(开源 TrOCR 同类思路)输出 LaTeX 串,结构信息可直接入索引。(infoq.cn)

  • 几何草图 / 曲线题使用轻量 YOLOv5 变体提角点、线段与注记,供后续“图+文”匹配。

  • 表格区域走 TableDet + TSR-Former 还原网格,再单元格级 OCR。(53ai.com)

2. 推理加速

整条流水线共 30 余模型,GPU 集群以 TensorRT FP16 通道并行推理,平均耗时 ≈ 200 ms;预处理仍由 CPU 承担以节省卡数。(qiye.chinadaily.com.cn, news.qq.com)


二、语义检索 & 排序层

1. 索引引擎:Havenask

  • 倒排 BM25 + 原生 HNSW 向量索引“双路召回”,查询 P99 延迟 < 10 ms。(blog.csdn.net, infoq.cn)

  • 题干向量由 BERT/Sentence-BERT 系中文模型 细调得到;近年开始切换到 BGE-M3 稀疏-稠密混合 embedding,提高“文字改编题”召回率。(arthurchiao.github.io)

  • Havenask + Fluid 缓存实现 算存分离,TB 级索引热更无停机。(infoq.cn)

2. 多级排序

  1. 粗排:倒排得分 + 向量余弦;

  2. 精排:gBDT/LTR 模型综合学段、教材版本、难度标签,再做重排;

  3. 得分低于阈值时调用下一层 LLM 兜底。(53ai.com)


三、大模型推理 & 兜底生成

场景模型栈说明
普通题命中无需 LLM 计算,直接回填数据库的标准解析延迟 < 300 ms
冷门/改编题检索增强 LLM (自研 20 – 30 B 级,实验性 MiniCPM-2B-Int4 端侧版)首先拿 Havenask TOP-N 片段,再生成步骤化解析
英文解题/出海多语 LLM + RAG,Question AI 海外版 6 个月 MAU 破 200 万 

四、训练数据与标注策略

  1. 题库

    • 主索引收录 3 亿+ 标准题,覆盖 K-12 90 % 教材版本;硬件产品宣传口径中的「10 亿+ Top 题」为附加真题/变式汇总。(pitchhub.36kr.com, news.cn)

  2. OCR 训练集

    • 来源:学生实时上传、合作教辅 PDF、公开试卷扫描,累计十亿级行级切图;通过半自动标注平台做字符与版面标注。

  3. 公式 & 表格数据

    • 公式使用 MathPix-like 合成 + 人工修订的 LaTeX 对齐数据;表格采取教学用书 PDF 结构树自动抽取 + 单元格校对。(53ai.com)

  4. Embedding Pair 数据

    • 基于历史拍题“同题不同拍”日志构造千万级相似/不相似句对,用 CoSENT 或 SimCSE 损失继续细调 SBERT/BGE。(blog.csdn.net)


五、开源组件清单(公开可考证)

层次主要用到的开源项目理由
视觉PaddleOCR / CRNN / TrOCR / YOLOv5中文+手写 OCR、公式检测、轻量目标检测 (iheima.com, infoq.cn)
NLP EmbeddingSentence-BERT、BGE-M3中文句向量,支持向量检索 (arthurchiao.github.io)
检索Havenask (Apache-2.0)倒排+向量混检,TB 索引热切换 (infoq.cn)
模型加速TensorRT、ONNX RuntimeGPU FP16 推理、端侧 INT4 量化 (news.qq.com)
LLMMiniCPM-2B-Int4 / 自研 20 – 30 B 模型端侧轻量 + 服务端高精度混合

⚠️ 注意:作业帮并未全部公开自研 LLM 的参数细节;上述开源模型是在演讲与 GitHub Commit 里被点名或出现过的组件,推断他们在生产中经过二次细调集成。


参考阅读(部分)

  1. 《OCR+AI 技术壁垒》 i 黑马专访 (iheima.com)

  2. QCon 2025 《作业帮检索系统重构:Havenask 实践》PDF (infoq.cn)

  3. China Daily 专访《30 种模型 200 ms 秒回答案》(qiye.chinadaily.com.cn)

  4. 腾讯新闻 Techo Park 演讲报道 (news.qq.com)

  5. 36Kr 投研页《3 亿题库与 AI》(pitchhub.36kr.com)

  6. App Store 描述(海外版) (apps.apple.com)

  7. GitHub Havenask Repo

  8. WallstreetCN 《Question AI 出海》


小结

  • 参数层面:拍照搜题公开强调的是“30 + 模型级联、200 ms 延迟、3 亿+ 题库、95 % 准确率、百万 QPS”这一整套系统级指标,而非单一 LLM 的参数规模。

  • 技术路线:采用 开源模型 + 大量自研细调 + Havenask 索引 + GPU 并行 的组合;常见题“检索即答案”,冷门题再调用 LLM 生成。

  • 训练数据:核心是十年沉淀的亿级题库与用户拍题日志,辅以合成公式、表格和标注文本,形成覆盖印刷体、手写体、图形和跨学科的多模态语料。

这套“识别-检索-生成”三段式架构,也正是能够在国内外多款拍题产品中保持“秒出+准出”体验的底层关键。

 

http://www.xdnf.cn/news/13391.html

相关文章:

  • kotlin kmp 副作用函数 effect
  • 使用Ajax从前端向后端发起请求
  • Prometheus基础使用指南
  • 鹰盾加密虚拟机保护技术的深度解析:从指令级虚拟化到动态对抗系统
  • (LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
  • Windows cmd中文乱码解决方法(Windows控制台中文乱码、CMD乱码、控制台乱码、Command Prompt命令提示符cmd.exe乱码)
  • JxBrowser 7.43.2 版本发布啦!
  • 预训练模型 CBAM注意力
  • 【docker n8n】windows环境如何挂载
  • 【计算机组成原理 第5版】白、戴编著 第四章 指令系统 课后题总结
  • 第二章 开发板与芯片介绍
  • 慢接口优化万能公式-适合所有系统
  • 【论文阅读笔记】HaDes幻觉检测benchmark
  • GISBox如何导入Revit格式的BIM数据?
  • 案例解读:交安与建安安全员 C 证在实践中的差异
  • 电路图识图基础知识-电机顺序启动控制电路解析(二十二)
  • 期末考试复习总结-《从简单的页面开始(下)》
  • NLP学习路线图(三十八): 文本摘要
  • 3分钟配置好nacos集群(docker compose)
  • 接口测试与接口测试面试题
  • 讲讲JVM的垃圾回收机制
  • 【八股消消乐】构建微服务架构体系—熔断恢复抖动优化
  • 认识 Python 【适合0基础】
  • 魔兽世界正式服插件与宏-敏锐盗贼实用宏探索(3)-起手奥义【袭】之突如其来
  • C++ Programming Language —— 第1章:核心语法
  • SpringBoot自动化部署实战
  • Python主动抛出异常详解:掌握raise关键字的艺术
  • 云原生核心技术 (6/12): K8s 从零到一:使用 Minikube/kind 在本地搭建你的第一个 K8s 集群
  • 基于STM32F103C8T6单片机双极性SPWM逆变(软件篇)
  • 软件定义汽车的转型之路已然开启