告別OCR,開源VisRAG幫你實現圖片RAG
當前的RAG系統僅基于文本,這使得無法利用在現實世界多模態文檔中扮演關鍵角色的視覺信息,如布局和圖像。
TextRAG與VisRAG在最終生成準確性上的對比。在TextRAG中,解析后的文本作為檢索和生成過程的基礎。相比之下,VisRAG直接利用原始文檔圖像,通過使用基于VLM的檢索器和生成器來實現。
VisRAG:一個基于VLM的RAG框架,它通過直接將文檔圖像嵌入到VLM中來檢索和生成信息,從而繞過了傳統的文本解析階段。VisRAG包括兩個主要組件:VisRAG-Ret(檢索器)和VisRAG-Gen(生成器)。
基于文本的RAG(左)與基于視覺的RAG(右)。傳統的基于文本的RAG(TextRAG)依賴于解析后的文本進行檢索和生成,這會丟失多模態文檔中的視覺信息。我們的基于視覺的RAG(VisRAG)使用基于VLM的檢索器和生成器直接處理文檔頁面的圖像,從而保留原始頁面中的所有信息。
- 傳統RAG流程:典型的RAG流程,包括一個檢索器(基于大型語言模型,LLMs)和一個生成器。檢索器從知識庫中檢索相關信息,生成器結合檢索到的信息和用戶查詢生成答案。
- VisRAG框架:它使用視覺-語言模型(VLM)代替傳統的基于文本的模型。VisRAG框架包括兩個主要組件:
VisRAG-Ret(檢索器):使用VLM直接對查詢和文檔圖像進行編碼,而不是依賴提取的文本內容。通過加權平均池化(weighted mean pooling)在輸入文本或視覺標記的最終隱藏狀態上獲得嵌入向量,然后通過余弦相似度計算相似性得分進行檢索。
VisRAG-Gen(生成器):提出了處理多個檢索頁面的機制,包括頁面連接(將所有頁面連接成單個圖像)、加權選擇(根據置信度選擇最終答案)以及支持多圖像輸入的VLM。
實驗表明,VisRAG在檢索和生成階段都優于傳統RAG,比傳統的基于文本的RAG流程實現了25-39%的端到端性能提升。進一步分析表明,VisRAG在利用訓練數據方面是有效的,并展示了強大的泛化能力,使其成為多模態文檔RAG的一個有前景的解決方案。
圖片
圖片
來自DocVQA的案例研究。在這個案例中,VisRAG成功檢索到了真實文檔,而TextRAG失敗了,導致VisRAG能夠正確生成答案,而TextRAG生成了錯誤的答案。
圖片
圖片
來自InfographicsVQA的案例研究。在這個案例中,VisRAG和TextRAG都成功檢索到了正確的文檔;然而,只有VisRAG有效地利用了布局信息,從而能夠準確生成答案。相比之下,TextRAG因為布局信息的丟失,導致了錯誤的回答
圖片
如果對內容有什么疑問和建議可以私信和留言,也可以添加我加入大模型交流群,一起討論大模型在創作、RAG和agent中的應用。