返回教程列表
真实项目拆解高阶

PDF 协议抽取:分段、引用与人工复核

长 PDF(合同、说明书、研究协议)如何切成可检索片段、让模型填表时带回页码引用,并设计人工复核清单,避免「看起来对但找不到出处」。

25 分钟
PDF 协议抽取与引用项目拆解封面

你将学到什么

你将学到长文档 RAG 抽取的三段模板:输入(PDF + 目标字段清单)→ 规则(分段策略、禁止臆造、必须带 citation)→ 输出(结构化 JSON + 引用列表)。重点不是一次填满表单,而是让人 30 秒内定位证据段落。还会对比「整篇丢给模型」与「检索 top-k 再回答」的差异:前者省事先幻觉,后者多一步召回但可审计。练习时请用公开样本 PDF 或已脱敏协议,不要上传含个人身份信息的扫描件。合并多批次抽取结果时,同一字段若两次引用不同页码,应标记冲突让人工裁决,而不是自动取较长答案。向量库更新后需记录 chunk 版本号,否则历史结论无法复现。

适合谁

适合处理合规协议、产品白皮书、临床试验方案等长 PDF 的知识工作者与开发者。你已经会用 ChatGPT 贴全文,但被「编造条款」坑过。

不适合谁

不适合需要法律签字效力的自动审核;模型输出只能作辅助阅读,最终结论仍需持证人员确认。 若你团队已有成熟流程,可把本课当对照表查漏补缺,不必推翻现有系统。

跟做步骤

  1. 1预处理:提取目录页码、按标题层级切 chunk(建议 800~1200 中文字),每段保留 pageStart/pageEnd 元数据。 字段清单按章节分组,每批不超过 8 个字段,避免模型上下文拥挤。
  2. 2检索:针对每个目标字段用关键词 + 向量混合召回 top-k 段,把 chunk 原文附在 prompt 里,要求「无引用则填 null」。 召回结果按页码排序展示,方便人工从 PDF 同页核对。
  3. 3生成:输出 `{ field, value, citations: [{ page, quote }] }`,quote 必须是原文短句,不得 paraphrase 成新义务条款。 高风险字段复核后打「已确认」标签,未确认字段不得进入对外报告。
  4. 4复核:人工只抽查高风险字段(违约责任、数据出境、付款节点),对照 PDF 原页一键跳转。 合并多批次抽取结果时,同一字段若两次引用不同页码,应标记冲突让人工裁决,而不是自动取较长答案。向量库更新后需记录 chunk 版本号,否则历史结论无法复现。 导出 JSON 同时生成可点击页码的 HTML 预览,供业务方抽查。

常见踩坑

chunk 过大导致引用模糊:模型说「见第 12 章」但一章有 20 页,应把引用粒度控制在 1~3 段原文。扫描版 PDF 未 OCR 时检索为空,模型仍会编造——先检测文本层。字段清单过长时一次问 30 个字段质量下降,应按章节分批抽取并在合并阶段去重。复制模板:仅根据片段回答;无依据填 null;每条附 page 与 quote。 建议维护「字段—页码—复核人」三列表格,抽查通过率低于 80% 时暂停自动抽取,先修 OCR 或分段参数。

本课小结

带走可复制 prompt 骨架:「仅根据下列片段回答;无依据则 null;每条答案附 page+quote」。下一版可加表格抽取,但引用规则不要降级。 下一课可继续本系列实战,把模板保存为团队默认文档。