ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RAG图文PDF解析全攻略:OCR、多模态与工具选型

RAG图文PDF解析全攻略:OCR、多模态与工具选型 我们把话说在前面做 RAG 数据导入真正让人挠头的不在向量库选型也不在 embedding 接口调参而在于怎么把手头这些乱七八糟的 PDF 和图片变成能进知识库的高质量文本。尤其当你面对的是扫描件、拍照件、带复杂版式的合同年报、图文混排的 PPT 导出 PDF 时前面跑得再顺的 RAG 管线也会在这里摔个大跟头。这篇是《RAG 数据导入与解析全攻略》的第二篇专门聊图文与 PDF 解析重点围绕 OCR、多模态大模型以及九种 PDF 工具选型展开把这层窗户纸捅破。1. 为什么 RAG 导入环节最容易被图文和 PDF 卡住1.1 一个让人血压升高的真实场景我在实际项目里遇到过这样一个需求用户要搭建一个合同审查知识库原始材料是几千份扫描版合同全部是拍照件和传真件PDF 里连一层文字层都没有。项目组一开始非常乐观觉得 RAG 就是文档丢进去、向量化、检索、生成四步走。结果第一步就卡了整整两周——文本提取出来全是乱码部分页面直接空白。更典型的场景是财务场景对方希望用 RAG 做年报问答PDF 里有大量图表、柱状图、扫描签章普通的 PDF 解析库比如 pdfplumber 和 PyMuPDF提取出来的内容顺序完全错乱表格数据张冠李戴。最后没办法只能回到 OCR 结构化模板的方案才把这条管线跑通。这个阶段暴露的问题其实非常集中归纳起来是三类扫描件没有文字层RAG 的文本分块器对着图片 PDF根本无米下炊。复杂版式导致语义割裂双栏排版、页眉页脚、图表混排经过普通提取后逻辑完全被打乱。图片里的信息被直接丢弃很多 RAG 教程默认图片不重要检索只处理文本但实际场景中合同里的签字盖章、年报里的趋势图、产品手册里的结构爆炸图恰恰是用户最常问的内容。这些坑一旦踩进去后面无论 embedding 模型多先进、向量库多快都白搭。RAG 的效果上限从数据导入那一刻就已经被定死了。1.2 图文型 PDF 的三座大山扫描件、复杂版式、多模态内容我在第一篇文章里就强调过RAG 不是一个算法而是一个系统数据导入就是这个系统的地基。而图文型 PDF 恰恰是地基里最难啃的骨头。第一座大山是扫描件与拍照件。这类 PDF 本质上不是文档是一堆 JPG 图的合集。肉眼看着文字清晰但对程序来说纯粹是无意义的像素点。如果直接用普通文本提取库结果就是一大段空白或者乱码符号。处理它必须引入 OCR而且不是简单调一个引擎就行还牵涉到图像预处理、版面分析、多语言识别等一系列问题。第二座大山是复杂版式。学术论文的双栏结构、年报里的图文混排、宣传册的色块背景这些版式对人类阅读毫无障碍但对解析工具来说是灾难。纯文本提取很容易把左栏和右栏的文字混在一起读出来的顺序从第 1 段跳到第 5 段再跳回第 2 段向量化之后语义支离破碎。更麻烦的是这种乱序错误往往非常隐蔽检索构建的时候看不出来等用户上线提问了才发现回答内容前言不搭后语。第三座大山是多模态内容。图片、表格、公式、签章、流程图这些元素承载的信息量往往比纯文字大得多但传统解析流程默认把它们忽略。这里说的多模态不只是指 OCR 识别文字而是指大模型能否真正看懂一张图表、理解一张流程图的结构关系。2026 年的技术语境下多模态大模型的进展已经让这类问题有了比传统 OCR 更好的解法但选型上仍然有大量学问后面展开讲。只有把这三座大山都搬掉RAG 知识库才谈得上完整。这也回答了很多人反复问的一个问题RAG 知识库到底能不能存储图片答案是能但前提是你不是存图片本身而是把图片里的信息变成可以被检索理解的语义内容或者让多模态模型直接参与理解和召回。这个机制在第五节会专门聊。2. OCR 方案从混战到三足鼎立传统引擎、多模态大模型与云服务聊到图文解析绕不开 OCR。但很多人对 OCR 的理解还停留在把图片里的字识别出来这个认知在 2026 年已经不够用了。现在做 RAG 数据导入OCR 选型至少要分清三个流派传统开源引擎、云服务 OCR、多模态大模型。三者的能力边界完全不同选错流派后面会非常被动。2.1 传统开源 OCR 引擎Tesseract 与 PaddleOCR 的取舍先聊最老牌的传统方案。Tesseract 是开源 OCR 里的老前辈历史悠久、生态成熟但用起来比较娇贵。它对手写体、复杂背景以及低分辨率图像的效果一般识别中文还需要额外下载语言包。我身边很多人在尝试 Tesseract 跑中文扫描件后都放弃了不是它不能用而是预处理要求太高需要用 OpenCV 做灰度化、二值化、降噪、倾斜校正一套流程走下来工程量和效果完全不成正比。相比之下PaddleOCR 是我在实际项目中更常用的开源选择。它源于百度的 PaddlePaddle 生态对中文和表格场景支持得非常好内置版面分析模块能区分段落、表格、图片标题等区域。举个例子用 PaddleOCR 的 PP-Structure 系列可以直接输出文档版面结构这在 RAG 数据清洗阶段能省掉大量重复劳动。但传统 OCR 引擎有一个天然缺陷它擅长识别字符不擅长理解语义。面对扫描件里的盖章、签名、复杂表格传统 OCR 只能输出文字和坐标无法理解这个公司名是甲方还是乙方这个数字是营收还是利润。这个痛点恰恰是多模态大模型和结构化信息抽取的用武之地。# 使用 PaddleOCR 进行版面识别与文字提取的实际代码 from paddleocr import PaddleOCR import json ocr PaddleOCR(use_doc_orientation_classifyFalse, use_doc_unwarpingFalse, langch) result ocr.predict(inputscanned_contract.pdf, typestructure) # 输出中包含文本内容、坐标和版面类别 for page in result: for item in page[res]: if item[type] text: print(item[text])这段代码看起来简单实际跑的时候有几个坑要注意。一是第一次运行会下载模型文件如果在内网环境需要预先配置模型路径二是use_doc_unwarping对拍照变形的文档有时候效果反而不稳定建议先关掉只依赖use_doc_orientation_classify做方向矫正。2.2 多模态大模型入场能看懂版面才是关键如果说传统 OCR 解决的是字怎么认那么多模态大模型解决的是版面怎么看、语义怎么理解。这也是 2026 年 RAG 解析领域最值得关注的变化。多模态大模型目前可以做到两件传统 OCR 做不到的事直接以图像为单位理解 PDF 页面比如把整页扫描件当作一张图传给 Qwen-VL 或 GPT-4o 系列模型prompt 里写清楚请提取这张页面的全部文字保持原有段落结构返回结果天然就是符合人类阅读逻辑的 Markdown 或 JSON。省掉了传统流程里的图像预处理、版面分析、OCR 识别、结果拼接三步。结构化抽取能力合同场景下你可以让模型直接输出合同的甲方、乙方、金额、日期、条款编号。这不是简单的字符识别而是理解语义后的信息抽取。前面提到用百度 OCR 读取合同文件时读取收入、单位、时间等关键字段本质上就是这种结构化抽取只不过可以在多模态大模型中一次性完成。举个例子用多模态大模型解析一张含饼图和文字的 PDF 页面from openai import OpenAI import base64 client OpenAI(api_keyyour_key) def encode_image(image_path): with open(image_path, rb) as f: return base64.b64encode(f.read()).decode(utf-8) page_image encode_image(annual_report_page3.png) response client.chat.completions.create( modelgpt-4o, messages[{ role: user, content: [ {type: text, text: 请把这页PDF的内容完整转录为Markdown保留标题层级和表格结构并对图表用一句话概括其数据结论。}, {type: image_url, image_url: {url: fdata:image/png;base64,{page_image}}} ] }] ) print(response.choices[0].message.content)这种方案的准确率在绝大多数场景下优于传统 OCR但代价是成本高、速度慢、存在幻觉风险。对于一个每天要导入上千页 PDF 的 RAG 系统全量走多模态大模型并不现实。我的建议是分级处理清晰文本型 PDF 直接走文本提取工具扫描件先走传统 OCR 拿草稿只有复杂版面、表格关系强、或者用户高频问答的关键页面才动用多模态大模型精读。2.3 云服务 OCR百度与腾讯的实战定位除了开源引擎和本地多模态模型云服务 OCR 也是不可忽略的选型方向。百度 OCR 和腾讯 OCR 都提供成熟的 HTTP 接口在身份证识别、驾驶证识别、营业执照识别、合同关键字段抽取等领域做了大量预训练优化开箱即用。前端开发者可能更熟悉百度 OCR 的 JS 接口后端 Java 项目里也经常见到用百度 OCR 识别上传合同文件的调用方式。我实际测下来的感受是云 OCR 在小语种、特殊证件、印章干扰场景下的稳定性确实比本地开源引擎强但有两个问题需要评估好。一是收费与配额。免费额度总是很慷慨一旦进入生产环境按次计费对大批量导入来说是一笔需要提前预估的成本。二是数据合规。企业内部知识库如果涉及敏感经营数据外呼第三方云服务就需要法务和运维共同确认。这里给一个团队内部比较实用的分工建议场景推荐方案理由高清中文扫描件批量转文本PaddleOCR 本地批量跑免费、可控、可离线多语言证件与银行卡识别百度/腾讯云 OCR预训练效果好接口稳定复杂表格转结构化数据多模态大模型直接抽取语义理解能力强表格纠错能力好英文扫描书籍章节切分Tesseract 自定义训练开源可控可定制词汇表3. 九种 PDF 工具选型按场景挑刀而不是按名气PDF 解析工具多到让人眼花缭乱网上随便一搜能列出二十几种。实际用下来真正值得认真评估的也就九种左右。我按处理对象而不是按知名度把它们分成四组这样选型思路会清晰很多。3.1 纯文本提取组PyMuPDF 与 PDFPlumberPyMuPDF是我个人最常用、也最推荐优先尝试的工具。它加载速度快、支持 PDF 和 XPS 等多种格式文本提取准确性在常规文本型 PDF 中表现非常好。更关键的是它能保留每个文本块的坐标信息配合自定义规则可以处理一定程度的复杂版式。import fitz doc fitz.open(sample.pdf) for page_num, page in enumerate(doc): text page.get_text(text) # 可以按位置过滤页眉页脚 blocks page.get_text(blocks) for block in blocks: x0, y0, x1, y1, text, block_no, block_type block print(f页 {page_num 1}: {text[:100]})写代码时注意两点一是get_text(text)对双栏 PDF 是无脑按坐标顺序输出的如果要还原双栏阅读顺序需要自己根据 x 坐标排序并分组二是标记为重排的 PDF 可能隐藏大量冗余文本提取出来会有重复清洗阶段要做去重。PDFPlumber则专攻表格抽取。它的extract_table()方法对有线框的表格效果很好可以输出结构规整的二维列表。但它对无框表格、或者带合并单元格的复杂表格就比较吃力这时候我会把表格所在区域截图下来交给多模态模型结构化。没有工具是万能的组合拳才是常态。import pdfplumber with pdfplumber.open(financial_table.pdf) as pdf: page pdf.pages[0] tables page.extract_tables() for table in tables: for row in table: print([cell.replace(\n, ) if cell else for cell in row])3.2 跨语言与工程集成组PDFBox 与 PDF.jsApache PDFBox是 Java 生态里的主力 PDF 库支持读取文本、元数据、加密文档解密还有表单填写能力。在很多企业内部Java 是后端的绝对主流PDFBox 不需要额外的 HTTP 服务直接在业务系统里调用非常适合嵌入已有的合同管理系统。PDF.js则完全不同它是 Mozilla 开发的前端 PDF 渲染引擎在浏览器里把 PDF 渲染成 canvas 或提取文本。如果你做的 RAG 系统是 B 端 Web 应用PDF.js 可以在前端完成 PDF 预览和文本抽取后端只需要接收前端传回的文本即可。这种架构的优势是免去了文件传输环节劣势是文本抽取能力有限复杂版式还原度不如 PyMuPDF 和 PDFPlumber。PDFBox 和 PDF.js 都属于通用工具适合 PDF 解析需求简单的场景。如果你的系统只需要把干净的文字型 PDF 变成纯文本没必要杀鸡用牛刀直接用它们即可。3.3 扫描件与生僻版面利器MinerU 与 PaddleOCR 的组合现在把视角切回到开头的痛点——扫描件。MinerU是目前开源社区里口碑不错的文档解析工具它把 PDF 转 Markdown 做得非常到位内置了版面检测、公式识别和图表解析核心思路就是先把 PDF 页面渲染成图像再用 OCR 和版面模型把内容重新组织成结构化文本。MinerU 对科学论文的解析效果尤其出色公式的 LaTeX 还原度很高。但内存开销比较大批量处理时建议用 GPU 机器或者走它的 API 服务模式。PaddleOCR在上一节已经详细介绍过它在这里的角色是兜底 OCR 引擎。MinerU 负责整体管线PaddleOCR 负责具体的文字识别和版面元素识别。二者配合基本可以覆盖 95% 的常规扫描件场景。3.4 商业工具兜底福昕高级 PDF 编辑器与 Acrobat开源工具虽然好但面对一些极端情况还是需要商业工具兜底。比如用户发来一个只有图片的 PDF需要把图片中的文字变成可复制文本最快捷的方式其实是直接用福昕高级 PDF 编辑器的 OCR 功能。它内置了 OCR 语言包支持中文、英文、韩文等多语言。值得注意的是福昕的 OCR 语言包是需要单独下载安装的很多人在官网找不到入口实际上是在转换或OCR功能菜单里触发下载。这里补充一个网络上常见的操作困惑福昕高级 PDF 编辑器 OCR 语言包ocr-zh-cn.fzip下载后不知道怎么安装。实际操作很简单在编辑器的 OCR 设置界面选择从文件安装语言包定位到该文件即可。这种商业工具在图形界面操作上确实比命令行工具省心适合业务团队同学自助处理小批量文档。Adobe Acrobat虽然是外国产品但在特定场景下依然是国际标准尤其是需要保留 PDF 版面样式并导出成 Word 时Acrobat 的还原度目前没有工具能超越。RAG 系统在解析外部生态伙伴发来的 PDF 时Acrobat 可以作为人工补录阶段的标准工具。3.5 直读版面的多模态模型Qwen-VL 与 GPT-4o最后一类选择是把多模态大模型直接当 PDF 解析工具用。这听起来有点激进但在 2026 年的技术背景下已经非常务实。商业产品如 Qwen-VL、GPT-4o 和 Claude 都支持上传 PDF 文件并直接提取内容它们的优势是天然理解图表、版式和语义甚至可以根据回答针对性引用文档某一部分。在 RAG 数据导入中多模态模型的定位不是批量处理引擎而是复杂页面的最终裁判。我习惯于把整份 PDF 按页拆成图片普通页面交给 OCR 常规流水线而对识别置信度低的页面、或包含复杂图表的页面再交给多模态大模型精读。这里特别提醒一个容易踩的坑不要试图让多模态模型去阅读一个几百页的超大 PDF。要么按页拆分要么让模型只读目录和章节开头判断内容结构。大批量场景下多模态模型仍然有速度短板。综合来看九种工具可以这样归类工具核心优势最佳使用场景注意事项PyMuPDF文本提取快、坐标精确常规文本 PDF 批量导入双栏需手动排序PDFPlumber表格抽取能力强财务年报、统计表格无框表格效果差PDFBoxJava 生态无缝集成合同管理系统后端不适合复杂版式PDF.js浏览器前端直接解析Web 端 RAG 工具能力相对有限MinerUPDF 转 Markdown 全流程论文、书籍、复杂版式资源消耗较大PaddleOCR中文识别强、免费离线扫描件批量 OCR需处理依赖环境Tesseract历史最悠久、可定制训练英文、特定字体小批量预处理繁琐福昕高级编辑器图形界面、有 OCR 语言包业务团队人工补录语言包单独安装Qwen-VL / GPT-4o语义理解、版面直读复杂页面精读与结构化抽取成本高、需防幻觉4. 实战一条 RAG 图文解析管线的搭建与踩坑记录4.1 管线整体设计从 PDF 进到向量化的五个环节光有工具不行关键是怎么把它们串起来。我在多个项目里沉淀下来一套相对稳定的 RAG 图文解析管线分为五个环节文档分类根据 PDF 是否含文字层、文件大小、页数判定是文本型 PDF还是扫描型 PDF分发到不同处理路径。文本提取与 OCR文本型走 PyMuPDF/PDFPlumber扫描型走 PaddleOCR 或云 OCR复杂版面走多模态精读。版面重组OCR 识别结果输出的是带坐标的文字块需要按阅读顺序重组这一步是保证块导入有效性的关键。结构化抽取与清洗对合同等场景抽取关键字段对表格进行行列重建同时去掉页眉页脚、页码等噪声。分块与向量化基于重组后的语义段落进行切分生成 embedding 并写入向量库。下面详细拆解这五个环节中容易踩的坑。4.2 韩文识别失败排查PaddleOCR 语言参数问题前面提到的热搜词里有一个非常典型的案例有人用 paddlex 的 create_pipeline 创建 OCR pipeline结果识别不了韩文。这个问题的根子往往不在模型本身而在参数配置。PaddleOCR 的语言参数lang传统上是通过PaddleOCR(langch)指定的默认模型是中文模型。如果你输入韩文文本却用中文模型结果就是一堆乱码或空白。正确做法是切换语言模型例如langkorean。但在 PaddleX 的新版 pipeline API 中语言模型的选择方式和旧版接口不太一样很多人升级依赖后忘记了在新接口里显式声明语言导致识别失败。from paddlex import create_pipeline # 错误方式默认使用通用模型韩文识别失败 # pipeline create_pipeline(OCR) # 正确方式加载支持韩文的 OCR 模型 pipeline create_pipeline( pipelineOCR, modelPP-OCRv5_mobile_korean # 以实际可用模型名为准 ) result pipeline.predict(inputkorean_receipt.jpg)这个坑的启示是OCR 引擎不是一个黑盒工具它内部有大量参数和模型分支。语言、文本方向、版面分析开关、图像矫正开关任何一项配置错误都会导致识别结果雪崩。组件排查时先确认输入图像质量再确认模型语言最后才考虑是不是引擎本身的 bug。4.3 表格和合同字段抽取把 OCR 结果变成结构化 JSONOCR 只是第一步RAG 导入更适合结构化文本。这里说的结构化不是指数据库表结构而是指让文本块携带语义标签比如这是合同标题这是甲方名称这是付款条款。做字段抽取我推荐用提示词工程 多模态模型的方式。把 OCR 得到的文本块和对应页面的坐标信息一起交给大模型让它输出 JSONimport json from openai import OpenAI client OpenAI(api_keyyour_key) def extract_contract_fields_page(page_text): prompt f 你是一个合同信息抽取器。请从以下OCR文本中提取关键字段。 需要提取的字段包括contract_title, party_a, party_b, amount, contract_date, key_terms。 如果某个字段不存在置为null。 只输出JSON不要输出解释。 合同文本 {page_text[:3000]} resp client.chat.completions.create( modelgpt-4o, messages[{role: user, content: prompt}], response_format{type: json_object} ) return json.loads(resp.choices[0].message.content)实测下来这种方式的字段抽取准确率比纯正则表达式高很多尤其是金额和日期这类高频变化格式。但要注意大模型的输出偶尔会出现金额缺位或者把订金误读成定金的情况需要引入规则兜底校验比如金额必须是数字、日期必须是合法格式。这里也回应一下热搜词里提到的 Java 使用百度 OCR 识别合同文件的场景。实际项目中大厂云 OCR 接口本身就提供了结构化识别能力返回 JSON 里通常包含办公地址、公司名称、法人、证件号码等字段Java 后端直接解析 JSON 即可比自己写正则要稳得多。云 OCR 的合同专区就是为了解决这种高频需求而建的。4.4 版面重组的具体逻辑基于坐标块恢复阅读顺序版面重组是管线里最容易被低估的环节。OCR 引擎输出的结果是一个个带坐标的矩形块如果你不排序直接拼接文本顺序就会完全乱掉。我用一个简化方案来说明怎么恢复阅读顺序。首先把同一页的所有文本块放在一个数组里按 y 坐标分簇当两块文字的 y 中心点距离较近时判定它们属于同一行。然后再对每一行的文本块按 x 坐标排序。这样双栏文档就会先读完左栏再读右栏。规则不算复杂但能解决大量版式混排问题。def reorder_blocks(blocks, y_tol20): # blocks: list of (x0, y0, x1, y1, text) blocks sorted(blocks, keylambda b: (b[1], b[0])) lines [] current_line [blocks[0]] for block in blocks[1:]: if abs(block[1] - current_line[0][1]) y_tol: current_line.append(block) else: lines.append(sorted(current_line, keylambda b: b[0])) current_line [block] lines.append(sorted(current_line, keylambda b: b[0])) return [ .join(b[4] for b in line) for line in lines]需要注意这个方案只适合比较规整的版式。面对复杂的图文混排、浮动文本框和艺术字体建议还是直接交给 MinerU 这类专业工具处理自己从零写版面分析成本远高于收益。5. RAG 知识库到底能不能存图片存储模型与召回策略热搜词里有一个高频问题RAG 知识库能存储图片嘛这个问题说明很多人对 RAG 的存储机制有误解。直接回答能但存图片这个说法本身就有问题。5.1 图片不能存其实是嵌入和召回的问题RAG 管线中向量库里存的是文本内容的 embedding 向量不是图片本身。如果你问知识库能存图片吗语义上等同于我能把一张 JPG 转成向量存进去吗。答案是能但你有两条路可走。路径一图片直存用 CLIP 或 SigLIP 这样支持图文的 embedding 模型把整张图片编码成向量存入向量库。用户提问时用文本编码器的向量去检索图片向量。这种方式适合以图搜图或图文问答场景但对硬件和模型部署要求较高。路径二图片转文本后存对图片做 OCR 和版面解析把里面的文字、表格、图表结论提取成文本再把文本向量化入库。用户检索时命中的是图片背后的语义内容。这是目前大多数 RAG 系统的实际做法也是工程上最稳妥的路径。路径二的本质是图片不进库图片的信息进库。这样做的好处是纯文本检索能力已经很成熟你不用额外部署视觉模型成本低、效果好。缺点是有信息损失——图片里的图形关系、颜色、视觉特征很难被完全转成文字。5.2 图片型文档的两种入库策略我在实际项目中把图片型文档分成信息型和关系型两类区别处理。信息型图片指那些文字密度高的截图、扫描文字页、邮件正文截图。这类直接走 OCR 转文本无误入库。关系型图片指流程图、系统架构图、产品爆炸图、趋势图。这类如果只转文字会丢失视觉关系。比如一张网络拓扑图图里有服务器、防火墙、交换机和连线关系OCR 只能提取这些名词完全丢掉了连接关系。遇到这种内容我会把图片本身单独保存并在文本块对应位置插入一个图片链接标记类似![architecture_diagram](assets/diagram01.png)。同时还要用多模态模型生成一段图片摘要比如该图片展示了三台服务器通过防火墙与核心交换机连接。这样 RAG 问答时如果问题命中服务器和防火墙怎么连接的召回的是图片摘要那段文本语义匹配是完全成立的。5.3 分块与元数据的常见误区图文解析后的分块比纯文本 PDF 有更多讲究。第一不要跨图表强行分块。很多文本提取结果会把一个表格从中间切断导致后半部分表格内容散落到下一个块里。PaddleOCR 和 MinerU 都输出表格区域的边界分块时要保证表格整体落在一个块内。第二要给块加元数据。包括来源文件、页码、是否为 OCR 结果、图片路径等。在有图片的文档里元数据尤其重要否则你不知道这段文本是从哪个图片里提取出来的后续溯源和人工核对都没有依据。第三合理设置 token 重叠度。图文提取出来的文本因为经过 OCR 和处理经常会出现前后重复文本。分块时过大的重叠会让冗余信息被向量化检索时权重被稀释。我建议把重叠从常规的 10%-20% 调到 5% 左右具体视文本噪声情况而定。6. 一些经验和收尾做 RAG 数据导入做到现在我最大的体会是工具永远不是瓶颈清晰的工作流才是。很多团队把一个环节的失败归咎于OCR 不够强PDF 解析效果太差但实际上问题往往出在——没有按文档类型分流、没有在版面重组阶段下功夫、没有对 OCR 结果做质量校验。另一个值得分享的经验是永远不要把大模型的结果当作最终结果直接入库。多模态大模型有幻觉OCR 有错字漏字工具链有 bug。RAG 知识库的质量取决于你愿不愿意在导入阶段多花人力做抽检。哪怕是 5% 的抽样检查都能极大避免语料垃圾进、回答垃圾出的恶性循环。最后再分享一个小技巧批量解析前一定要先做小样本验证。拿 20 页真实文档跑通全流程对比原始 PDF 和分析结果的差异确认字段抽取的准确率、版面重组的正确率之后再全量导入。这一步看似浪费时间实际是省时间的大头。别问我怎么知道的——我第一版合同知识库管线就是跳过小样本验证结果全量跑完后才发现双栏识别顺序错了整整三分之一的数据返工成本高到肉疼。
返回列表