RAG搭建個人LLM知識庫助手,很多人第一步就走錯了...
基于RAG技術搭建本地知識庫問答助手,已經是相當普遍的應用方案了。前一陣我在公司實踐過,用我們過往積累的、對業務重要的內部知識構建知識庫,開發了一個智能問答Agent,能減少團隊一部分的答疑時間。
構建知識庫時,我們將內部知識整理成了 MarkDown 格式。至于為什么用MarkDown 格式,我簡單總結了幾個原因。
首先,一個文件最終要分塊Embedding,而 MarkDown 格式天然支持標題分級,便于按章節分塊(chunking),保證分塊語義的完整性,提高后續內容召回的準確率。
圖片
其次,知識庫的內容需要讓大模型理解,而大模型對 MarkDown 這種結構化的內容理解更好。這也是用 MarkDown 編寫 prompt 成為主流的原因。
對我們個人來說,工作、學習中有很多場景,需要搭建個人知識庫助手。比如,閱讀新論文、閱讀技術文檔做分享等等。
在這些場景中,我們拿到的原始文檔格式大都是 PDF 格式的,比如,下面的這個。
圖片
我們面臨的第一個問題是,如何準確地提取這些內容。
最容易想到的方案是找個 Python 庫解析,如:PyPDF2。下面是我解析的結果。
圖片
明顯發現有三個問題,1、所有文本堆在一起沒有格式, 2、文本識別不準,多個單詞連在一起, 3、圖片丟了。
這樣的內容,如果直接作為 RAG 知識庫,準確率會非常差。
幸好,最近發現一個能準確提取PDF內容的工具——Doc2X。
圖片
可以說是我用過的工具中最準確的了,還是上面那個PDF文檔,來看下 Doc2X 識別的結果。
圖片
左邊是原始PDF文檔,右邊是 Doc2X 提取的 MarkDown 格式文檔。有標題結構,內容準確,有配圖,可以說兩邊一模一樣。
這樣的內容,你才敢放心地導出,去構建RAG知識庫。
Doc2X 支持多種格式導出,包括 Markdown、LaTeX、HTML、Word 等。
圖片
下面是我導出的 MarkDown 格式文件。
圖片
我們平時閱讀論文、技術文檔,難免遇到大量的表格、數學公式,Doc2X 對這部分做了深度優化,能實現?精度的識別與結構化轉換。
圖片
甚至如果你下載了一些來路不明的文檔,比如,里面都是掃描件,根本沒辦法直接從PDF文件中直接復制文本,Doc2X 依然可以準確提取。
圖片
對于我們搞技術的來說,有這么好用的工具,能寫程序自動調用才是正道,Doc2X 也提供了開放平臺。
圖片
有了 API 就能調用接口自動提取PDF內容,然后構建知識庫,開發智能體。
不想寫代碼也沒關系,Doc2X 接?了 FastGPT、CherryStudio、扣?等平臺,可以零代碼創建智能體。
在扣子上使用 Doc2x 搭建文檔閱讀Agent,僅僅只需1步,添加 Doc2X 插件,填入開放平臺創建的 API Key 即可。
圖片
圖片
當然,現在很多AI大模型產品也支持上傳PDF文件進行問答。但 Doc2X 的優勢在于,是專業做文檔提取的,準確度更高。
并且不像其他產品上傳文件后,解析的結果對我們是黑盒,Doc2X 提取后結果對我們可見,我們可以對結果做干預,生成的內容更可控。
Doc2X API 價格也是很便宜的,每頁單價0.02元。有需要的朋友可以用起來了。
官網使用:https://doc2x.noedgeai.com/
開放平臺API調用:https://open.noedgeai.com/