恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

RAG 知识库问答实战(6):处理表格图片等多模态文档

  • 首页
  • 资讯中心
  • /
  • RAG 知识库问答实战(6):处理表格图片等多模态文档

相关资讯

为什么选择Quelpa?探索Emacs Lisp包即时构建的核心优势 2026/8/9 22:39:55
智能体群实战指南:重塑工作流,从Dify快速搭建到生产级落地 2026/8/9 22:39:55
GoB终极指南:深度解析Blender与ZBrush双向数据桥接的5大核心技术优势 2026/8/9 22:39:55

最新资讯

我怎样给 Codex 分配验收职责:类型检查、Lint、单测、构建、页面验证
大模型应用产品化与 ROI 评估:评审时怎样发现隐性风险
AIGC 内容生成与区块链智能合约集成:工具选型别只比较参数
RAG 检索增强生成系统从零到一落地:灰度阶段到底验证什么
JKSM:3DS游戏存档管理专家,告别存档丢失烦恼
多模态边缘AI的工程突围:从TinyML到异构加速的计算范式革命

今日推荐

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南
告别语言障碍:KISS Translator 双语翻译插件终极指南
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

本周热门

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁
如何快速生成中国车牌图片:Python开源工具完整指南
当 LLM 遇见大文档:主流开源项目如何处理上下文超限

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

RAG 知识库问答实战(6):处理表格图片等多模态文档

发布时间:2026/8/9 22:39:55
RAG 知识库问答实战(6):处理表格图片等多模态文档 上一篇用混合召回和重排提高了纯文本证据的覆盖率。然而财报中的数值关系、操作手册里的截图箭头、扫描合同上的印章都无法靠扁平文本完整表达。本篇把解析层扩展为版面元素、表格与图片并让它们仍能进入统一检索和引用链路。一、痛点把页面抽成一串字会丢失关系表格的含义来自行标题、列标题与单元格交叉。若 PDF 抽取结果按阅读顺序变成“华东 120 华南 98 2025 2026”模型无法判断数字属于哪个年份。图片可能承载架构连接、按钮位置或故障现象OCR 只能识别文字不能解释空间关系。扫描页甚至没有文本层需要先检测再 OCR。处理多模态文档的核心不是给每页生成一段长摘要而是建立页面坐标系中的元素模型。每个元素记录类型、边界框、页码、父级标题、原始资源 URI、抽取器版本和置信度。阅读顺序由版面模型决定表格保留二维结构图片保存原图与可检索描述。引用则链接到页码甚至高亮区域。二、原理检索表示与展示证据可以不同表格至少保存三种形式HTML 或二维数组用于忠实展示按行展开的自然语言用于嵌入原始截图用于复核。比如单元格 120 应展开为“2025 年华东区销售额为 120 万元”把表头补进每行。复杂合并单元格要先规范化单位与脚注不能丢失。图片可走两路OCR 文本用于精确词召回视觉语言模型生成的受控描述用于语义召回。若系统支持多模态嵌入也可直接编码图像但仍应保留文字描述以便审计。下面把二维表转换为自包含的行级证据验证表头、单位与来源稳定继承。fromdataclassesimportdataclassdataclass(frozenTrue)classTableEvidence:evidence_id:strtext:strpage:introw_index:intdeftable_to_evidence(headers:list[str],rows:list[list[str]],page:int,unit:str,)-list[TableEvidence]:ifany(len(row)!len(headers)forrowinrows):raiseValueError(ragged table)result[]forrow_index,rowinenumerate(rows,start1):pairs[f{key}{value}forkey,valueinzip(headers,row,strictTrue)]text.join(pairs)f单位{unit}result.append(TableEvidence(fp{page}-r{row_index},text,page,row_index))returnresult headers[地区,2025年,2026年]rows[[华东,120,138],[华南,98,105]]foritemintable_to_evidence(headers,rows,page7,unit万元):print(f{item.evidence_id}\t{item.text})运行输出p7-r1 地区华东2025年1202026年138单位万元 p7-r2 地区华南2025年982026年105单位万元行级证据适合“华东 2026 年是多少”整表证据适合比较与汇总。可以同时索引两种粒度通过parent_table_id关联命中某行后将相关表头与必要邻行一起送给模型。绝不能让模型凭摘要进行精确算术重要数值应从结构化单元格读取并由代码计算。三、实现建立检测、抽取、校验和降级队列PDF 页面先判断是否存在足够文本层没有则以合适分辨率渲染并 OCR。文本型页面也要做版面检测识别标题、正文、列表、表格、图片和脚注。常用工具包括 PyMuPDF、pdfplumber、Unstructured、PaddleOCR、Tesseract 与文档理解模型。选择时用自己的双栏、旋转页、中文表格和扫描质量测试。任何视觉抽取都带置信度。低置信页面进入人工复核或标记为不可回答不要静默写入索引。下例实现一组可自动化的页面质量门输出明确状态和原因便于路由到 OCR、复核或正常索引。fromdataclassesimportdataclassdataclass(frozenTrue)classPageStats:page:inttext_chars:intocr_confidence:float|Nonetable_cells:intmalformed_cells:intdefroute(page:PageStats)-tuple[str,str]:ifpage.text_chars20andpage.ocr_confidenceisNone:returnocr,text layer is nearly emptyifpage.ocr_confidenceisnotNoneandpage.ocr_confidence0.80:returnreview,low OCR confidenceifpage.table_cellsandpage.malformed_cells/page.table_cells0.10:returnreview,table structure is unreliablereturnindex,quality gate passedpages[PageStats(1,850,None,0,0),PageStats(2,0,None,0,0),PageStats(3,120,0.72,20,1),PageStats(4,300,0.95,40,2),]forpageinpages:status,reasonroute(page)print(fpage{page.page}status{status}reason{reason})运行输出page1 statusindex reasonquality gate passed page2 statusocr reasontext layer is nearly empty page3 statusreview reasonlow OCR confidence page4 statusindex reasonquality gate passed图片描述提示应要求陈述可见事实、文本、对象关系与不确定性禁止补猜看不清的数值。保存所用模型、提示版本和原图哈希模型升级后可只重算图片描述。敏感图像调用外部视觉 API 前须完成数据分级和脱敏不能因为“只是索引”绕过合规边界。元素之间的父子关系同样重要。正文中的“如下图所示”应通过页面距离、编号和标题关联到对应图片表格脚注必须挂到表格而非普通段落。检索命中图片描述时可同时取回前置说明和图注但要设置邻域上限。关系边应保存置信度低置信关联不自动用于高风险回答。四、踩坑跨页、单位和坐标变换最容易出错跨页表格可能在第二页重复表头也可能省略表头。合并时用列数、标题和几何位置判断保留原页范围不能仅因两页相邻就拼接。负号、千位分隔、百分号和脚注星号必须经过类型校验。OCR 常混淆0/O、1/l对于金额、日期和编号应加正则与业务范围检查。页面旋转、裁剪和缩放会改变坐标。引用高亮必须保存抽取时页面尺寸与坐标原点并在前端做明确变换。若只存截图坐标换渲染 DPI 后框会偏移。对图表不要仅提取图例文字趋势、轴单位和数据点关系需要视觉模型或专门解析器并在低置信时显示原图供用户核验。还要控制制品体积和重复计算。原始文件、页面渲染图、裁剪元素、OCR JSON 和缩略图分层存储以内容哈希去重并设置生命周期。索引只保存可检索文本与资源引用不把大图直接塞进元数据。处理任务记录 CPU、GPU 与页耗时才能识别某类复杂 PDF 是否拖垮整个队列。五、验证按元素类型分别建立黄金集测试集应包含普通文本、双栏、扫描、旋转页、合并单元格、跨页表、流程图和截图。表格评测单元格准确率、结构相似度及问答正确率OCR 看字符或词错误率图片描述看关键实体与关系覆盖引用验证页码和高亮框。最终还要检查“命中行—取回整表—回答数值”这一端到端路径。本篇让表格与图片成为可追踪证据而非不可见附件。下一篇将进一步约束生成阶段用证据充分性判断、引用校验和声明级溯源减少幻觉。参考来源Unstructured文档元素与 hi_res 策略PaddleOCRPP-Structure 文档分析PyMuPDF文本与图像抽取 觉得有用就点个赞 收藏方便回头查阅有疑问直接在评论区留言我看到都会回。 本文属于《RAG 知识库问答实战》系列持续更新关注不迷路。 文章里的代码都能直接跑。想要可直接 clone 的完整工程 配套部署脚本 / 踩坑清单评论一声或发邮件到cj2664qq.com我免费发你。如果你正好在做类似系统、或有工程化难题想找人做也欢迎邮件聊一句——我按实际情况评估能落地的就接单或出方案。评论和邮件都能直接找到我不用跳别的平台。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号