一種支持4種多模態RAG技術的引擎:VARAG
VARAG(視覺增強檢索和生成):是一種視覺優先的RAG引擎,強調基于視覺的檢索技術。它通過視覺語言模型集成視覺和文本數據,增強了傳統的檢索增強生成 (RAG) 系統。
?? 支持的檢索技術
VARAG支持多種檢索技術,針對不同用例進行了優化,包括文本、圖像和多模式文檔檢索。以下是支持的主要技術:
- 簡單RAG(帶OCR)?
簡單 RAG(檢索增強生成)是一種高效而直接的方法,用于從文檔中提取文本并將其輸入到檢索管道中。VARAG通過Docling 整合了光學字符識別 (OCR),從而可以處理和索引掃描的PDF或圖像。
Docling在Markdown和JSON格式下的輸出示例
VARAG提取和索引文本后,可以將查詢與文檔中的相關段落進行匹配,為生成基于提取信息的響應提供堅實的基礎。此技術非常適合文本密集的文檔,例如掃描的書籍、合同和研究論文,并且可以與大型語言模型 (LLM) 配對以生成上下文感知的輸出。
Docling技術報告 https://arxiv.org/pdf/2408.09869
https://github.com/DS4SD/docling
- 視覺RAG
Vision RAG 通過整合視覺信息檢索來擴展傳統的 RAG 技術,從而彌合文本和圖像之間的差距。使用強大的跨模態嵌入模型(如 JinaCLIP(由 Jina AI 開發的 CLIP 的變體)),文本和圖像都被編碼到共享向量空間中。
jina-clip-v1的訓練范式,共同優化文本-圖像和文本-文本匹配
這允許跨不同模態進行相似性搜索,這意味著可以同時查詢圖像和文本。Vision RAG 特別適用于文檔分析任務,其中視覺組件(例如,圖形、圖表、圖像)與文本內容同樣重要。它對于圖像字幕或生成產品描述等任務也很有效,在這些任務中,理解和關聯文本與視覺元素至關重要。
- ColPali RAG?
ColPali RAG代表了一種尖端方法,它通過直接將文檔頁面嵌入為圖像而不是將其轉換為文本來簡化傳統的檢索流程。
該方法利用了Google團隊的視覺語言模型 (VLM) PaliGemma,它將整個文檔頁面編碼為矢量嵌入,將頁面布局和視覺元素視為檢索過程的一部分。ColPali RAG使用受ColBERT(Column BERT)啟發的后期交互機制,通過啟用用戶查詢和文檔patches之間的token-level匹配來增強檢索。這種方法確保了高檢索準確性,同時還保持了合理的索引和查詢速度。它對于富含視覺效果的文檔特別有益,例如信息圖表、表格和復雜布局,而傳統的基于文本的檢索方法很難處理這些文檔。
ColPali論文: https://arxiv.org/abs/2407.01449
ColPali博客: https://huggingface.co/blog/manu/colpali
ColPali實戰: https://github.com/weaviate/recipes/blob/main/weaviate-features/named-vectors/NamedVectors-ColPali-POC.ipynb
- 混合ColPali RAG
混合ColPali RAG 結合了圖像嵌入和ColPali的后期交互機制的優勢,進一步提高了檢索性能。
- 系統首先使用圖像嵌入(例如來自 JinaCLIP 等模型)執行粗略檢索步驟,以檢索前 k 個相關文檔頁面。
- 然后,在第二遍中,系統使用 ColPali 后期交互機制對這 k 個頁面重新排序,以根據視覺和文本信息確定最終最相關的頁面集。
當文檔包含復雜的視覺效果和詳細的文本時,這種混合方法特別有用,允許系統利用這兩種內容類型進行高度準確的文檔檢索。
?? 開始使用VARAG
每種視覺RAG技術都被構建為一個類,抽象所有組件并提供以下方法:
from varag.rag import {{RAGTechnique}}
ragTechnique = RAGTechnique()
ragTechnique.index(
"/path_to_data_source",
other_relevant_data
)
results = ragTechnique.search("query", top_k=5)
# These results can be passed into the LLM / VLM of your choice
為什么要抽象這么多?
VARAG最初打算快速測試和評估不同的基于視覺的 RAG(檢索增強生成)系統,以確定哪一個最適合我的用例,最終演化成了一個框架或庫。
這種抽象旨在簡化嘗試不同 RAG 范例的過程,而不會使組件之間的兼容性復雜化。為了使事情變得簡單,選擇 LanceDB作為向量存儲,因為它易于使用且可定制性高。
https://github.com/adithya-s-k/VARAG
https://adithya-s-k.github.io/VARAG/
本文轉載自??PaperAgent??
