結論先講:多數 RAG 知識庫翻車,不是嵌入模型選錯,而是PDF 未經預檢就直接匯入——掃描頁被當成文字層、表格碎成雜訊、頁首頁尾污染每個 chunk、雙欄版面讀取順序錯亂。本文整理五項上線前必做檢查,涵蓋抽樣指令、解析器對照表與分塊閘門清單,適用於任何 RAG PDF Parsing 流程。
若你正把手冊、論文或合約餵進 LangChain、LlamaIndex、Dify 或自建管線,請記住:先驗品質,再分塊。關鍵字:RAG PDF Parsing、PDF Parsing Best Practices、AI PDF Parsing。
最後審閱:2026 年 8 月 7 日。解析器行為以現行 PyMuPDF、pdfplumber 與 LlamaIndex loaders 為準。
為何 PDF 是 RAG 最高風險格式
PDF 為列印保真而生,不是語意儲存。單頁可疊加文字層、向量圖、嵌入字型、隱藏 OCR 層與掃描影像——通用 get_text() 可能回傳字元卻不保閱讀順序。RAG 會放大每個錯誤:髒文字 → 錯誤分塊 → 嵌入漂移 → 無關檢索 → 自信幻覺。
常見失敗:800 份產品 PDF 丟進預設 loader。兩週後客服代理把頁尾版權行當規格引用。根因:60% 掃描、30% 雙欄、一套解析器打天下。修復意味重解析、重嵌入、重索引——遠比五項預檢昂貴。
PDF Parsing Best Practices 第一條:依文件類型分流,別「一個 loader 統治一切」。
檢查 1:原生文字 vs 掃描 PDF
目標:30 秒內判斷用純文字抽取還是 OCR + 版面分析。
做法:
- 執行
pdfinfo或 PyMuPDF;若page.get_text()每頁少於 50 字且影像物件多,視為掃描/影像 PDF。 - 抽樣 3 頁(首、中、尾):能否依序選取文字?
- 檢視 Producer/Creator 中繼資料——部分「列印成 PDF」流程會產生破碎偽文字層。
通過:抽樣頁面 ≥ 90% 有連續、順序正確的文字。
未過:導向 OCR(Tesseract、PaddleOCR 或託管 LlamaParse)。批次任務請在獨立 Agent 編排主機 跑 OCR worker,避免嵌入佇列卡住。
混合型 PDF 很常見:掃描封面 + 可選內文。請逐頁分類並寫入 page_type 中繼資料,供後續分塊與檢索加權。
檢查 2:文字抽取品質抽樣
目標:嵌入中無編碼亂碼或隱藏字元。
做法:
- 匯出 5 頁隨機文字;搜尋替換字元、私用區 Unicode、連字拆分(fi、fl)。
- 比對 PDF 原文與抽取結果中的 SKU、版本號、API 路徑——高價值檢索 token。
- 中文 PDF 請確認簡繁、全半形未混用。
通過:關鍵實體 100% 一致;亂碼率 < 0.5%。
未過:換解析器——表格用 pdfplumber、大量文字用 PyMuPDF、學術頁用版面工具。參考 LangChain PDF loader 指南;務必在樣本上驗證。
檢查 3:版面——欄位、表格、頁首頁尾
目標:閱讀順序符合人類理解,而非繪製順序。
做法:
- 多欄:左欄讀完再右欄;若交錯,用版面偵測或 bbox 重排。
- 表格:抽 2 份檔——儲存格不可塌成逗號糊。存成 Markdown 表或
content_type=tablechunk。 - 頁首頁尾:若同一行出現在 > 40% chunk,解析時剝除。
通過:三人抽查讀得通;表格維持二維;頁首頁尾已排除。
未過:用分區解析器(Unstructured hi_res、Docling 等)或分塊前去重複行。AI PDF Parsing 的痛點多半是版面,不是 OCR 準度。
檢查 4:安全與合規
目標:索引中無加密、高 PII 或未授權內容。
做法:
- 略過或解密密碼 PDF;記錄
skipped_encrypted計數。 - 合約與工單做 PII 掃描(email、電話、證號)——遮罩或隔離索引。
- 版權與資料處理須法務簽核;內部索引仍可能違約。
- 正式環境勿記錄完整抽取文字。儲存邊界見 Agent 記憶 vs 聊天紀錄。
檢查 5:分塊就緒與中繼資料
目標:解析輸出夠結構化,能有意義地分塊。
做法:
- 保留
page_number、source_file、section_title(若有)。 - 用 20 道樣題預覽固定視窗 vs 標題切分。
- 觀察 chunk 長度分佈——過多 < 100 token 碎片會稀釋語意。
- 若用長上下文重排,請估算 context caching 成本——乾淨解析可減少「整份塞進去」的權宜之計。
通過:中繼資料完整度 > 95%;top-3 chunk 涵蓋答案段落;無系統性頁尾污染。
解析器速查(2026)
| 情境 | 起手式 | 優勢 | 注意 |
|---|---|---|---|
| 大量文字 PDF | PyMuPDF | 速度 | 複雜版面需輔助 |
| 財報/規格表 | pdfplumber | 儲存格座標 | 無 OCR |
| 掃描/影像 PDF | OCR + 版面 | 召回率 | 成本 + QA |
| 企業自動化 | LlamaParse / Unstructured | 分區 | 按頁計費 |
維護黃金樣本集(10–20 份棘手 PDF:雙欄、表格、掃描、直排中文),每次換解析器都重跑同一套 Q&A 評估——比爭論哪個函式庫「最好」有用。
建議匯入管線
- 入佇列時做檔案雜湊去重與分類中繼資料。
- 檢查 1–2:自動判型 + 文字抽樣;掃描走 OCR 分支。
- 檢查 3:版面解析、剝頁首頁尾、表格結構化。
- 檢查 4:PII/加密過濾;失敗隔離。
- 檢查 5:結構感知分塊 + 中繼資料;小批次 Q&A 閘門。
- 通過後才嵌入索引;解析器版本化以便重跑。
RAG 匯入是活的資料產品,不是一次性 ETL。解析器漂移往往比模型升級更快。
給利害關係人的一個問題
請問:「使用者提問時,引用應精確到頁、章節還是表格列?」這決定檢查 3 與 5 要多嚴。
要把檢索接進 Agent,可續讀 單 Agent 到多 Agent 管線。
解析負載重?把算力放對地方
批次 OCR 與嵌入可讓筆電卡數小時。在 Cloud Mac 或 Linux VPS 跑解析 worker,本機專做 QA 與黃金集評估。VPSSPark 提供適合文件密集型 RAG 的雲端開發環境。