好文分享 — PDF Hell and Practical RAG Applications

PDF Hell and Practical RAG Applications” 1 文提到在做 RAG 應用時,要從真實世界的 PDF 檔擷取資料有多麼地獄,你可以在文中看到各種格式以及它多麽地獄,例如 2 columns 的論文、貸款表單、浮水印、背景圖片、使用貝茲曲線顯示文字、文字混圖片等等,光想就覺得頭痛了⋯⋯。

一切的原因在於 PDF 不是為了讓程式可以輕鬆/正確爬梳而設計,而是為了能夠在各種裝置都能夠正確顯示排版、內容甚至列印而設計。

所以 PDF 格式充滿各種神奇結構,也沒有像 HTML 有標準的 tag 可以遵循,這很可能造成擷取出來的資料會失去次序,即使他們在視覺上是彼此相鄰的 2 個結構,這也導致 PDF 資料擷取的功能如果沒有做好,很可能會造成 RAG 應用無法正常運作,例如擷取不到正確資料導致 RAG 應用胡說八道。

這些種種問題,使得擷取 PDF 內的資料可能得混搭文字識別(OCR, Optical Character Recognition)或者機器學習等多種方法。

該文也提供幾個不錯的 Python PDF 套件可以利用,不過每個都有各自的優缺點:

文字識別的部分則可以使用(可以 local 運作的工具,不過對硬體也可能有相應要求):

或者使用 Azure Document Intelligence, Google Document AI 以及 Amazon Textract 等雲端服務,不過這些服務雖然效率好、準確率相對高,但是也有可能會侵犯使用者隱私!

如果你想要或打造 PDF 相關的 RAG 應用的話,這篇文章所羅列的資源,應該會對你很有參考價值。(或者荷包許可的情況下,選擇付費使用 Unstract 所打造的 LLMWhisperer 解決相關問題也是 1 種方案)

PDF Hell and Practical RAG Applications

Facebook Threads X

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!