LangChain 發布了一款針對表格、文本和圖像的多向量檢索器(RAG),致力於實現多種數據類型之間的無縫問答功能 | RAG (Retrieval Augmented Generation,檢索增強生成) 是一種能夠通過提示將相關上下文傳遞給大型語言模型 (LLM) 的技術,尤其適用於事實回憶等場景,因為它能夠將 LLM 的推理能力與外部數據源的內容相結合,對企業數據具有特別的威力

LangChain 發布了一款針對表格、文本和圖像的多向量檢索器(RAG),致力於實現多種數據類型之間的無縫問答功能。RAG (Retrieval Augmented Generation,檢索增強生成) 是一種能夠通過提示將相關上下文傳遞給大型語言模型 (LLM) 的技術,尤其適用於事實回憶等場景,因為它能夠將 LLM 的推理能力與外部數據源的內容相結合,對企業數據具有特別的威力。目前,為了改善 RAG 的效能,已經開發了多種技術,例如基於嵌入文檔塊的 Top K 檢索、嵌入文檔摘要的 Top K 檢索,以及基於元數據過濾的 Top K 檢索等。

然而,對於包含半結構化數據(結構化表格與非結構化文本)和多模態(圖像)的文檔,RAG 面臨著一定的挑戰。隨著多模態模型如 GPT4-V、LLaVA 和 Fuyu-8b 的出現,現在值得考慮統一的策略以實現跨模態和半結構化數據的 RAG。為此,LangChain 在今年 8 月份推出了多向量檢索器,其基本思想是將用於回答合成的文檔與用於檢索的參考分開。例如,可以創建一個針對基於向量的相似度搜索優化的冗長文檔摘要,但仍然將完整的文檔傳遞到 LLM 中,以確保在回答合成過程中不會丟失上下文。

此外,LangChain 提供的工具 “Unstructured” 能夠從多種文件類型中提取元素(表格、圖像、文本),並將 PDF 文件分區,以便進一步的處理。通過這種方式,多向量檢索器可以支持 RAG 在半結構化數據上的應用,這對於可能會分裂表格的簡單分塊策略來說是一個挑戰。例如,如果通過語義相似性檢索到了表格摘要,則原始表格將被傳遞到 LLM 以進行回答合成。

LangChain 還考慮了圖像數據,並通過多向量檢索器框架探討了至少三種處理問題的方法:1)使用多模態嵌入(例如 CLIP)來嵌入圖像和文本,並通過相似性搜索進行檢索;2)使用多模態 LLM(例如 GPT4-V、LLaVA 或 FUYU-8b)從圖像中產生文本摘要,並使用文本嵌入模型嵌入和檢索文本摘要;3)使用多模態 LLM 從圖像中產生文本摘要,並與原始圖像的引用一起嵌入和檢索圖像摘要。通過這些方法,LangChain 能夠實現圖像和文本塊的多模態 LLM 合成,從而進一步拓展了 RAG 的應用範疇。

不同資料類型(圖像、文字、表格)的無縫問答是 RAG 的聖杯之一。我們將發布三個本新食譜,展示在包含混合內容類型的文件上使用 RAG 的多索引搜尋器。這些食譜也提出了一些將多模式LLM與多搜尋器分區以解鎖圖像上的RAG的想法。

依靠

LLM可以穿透至少兩種方式來獲取新資訊:(1)權限重更新(例如權限)和(2)RAG(搜尋增強產生),它的穿透提示將相關上下文回憶傳遞給LLM。RAG事實方面 具有 特殊的前景,因為將法學碩士的推理能力與外部數據來源的內容結合起來,這對於企業數據來說尤其重要。

改進RAG的方法

已經開發了許多改進 RAG 的技術:

主意例子來源
狀況基本RAG將嵌入檔案區塊進行 Top K 檢索,傳回 LLM 上下文視窗的檔案區塊LangChain支撐庫嵌入模型
摘要 嵌入式對嵌入式文檔摘要進行前K項搜索,但傳回LLM上下文視窗的完整文檔LangChain多搜尋器
視窗化對嵌入區塊或句子進行前 K 搜索,但返回擴展視窗或完整文檔浪鏈父文檔搜尋器
元資料過濾透過元資料過濾的區塊進行 Top K 檢索自查詢搜尋器
參數 RAG 嵌入扭力資料的嵌入模型LangChain壓力指南
2級RAG第一階段關鍵字搜索,然後是第二階段Top K搜索聚集力重新排名

將 RAG 評估多種資料類型

然而,包含半成形資料(具有非成形文字的成形表格)和多種模式(影像)的檔案的RAG仍然是一個挑戰。隨著多種多模態模型的出現,現在值得考慮統一策略來實現跨模態和半結構化資料的RAG。

多搜尋搜尋器

早在八月份,Langchain就發布了多搜尋器。它對 RAG 使用了一個簡單而強大的想法:將我們想要用於合成的文件的答案與我們想要用於搜尋器的參考解耦。一個簡單的例子,我們可以根據提示的相似性搜尋進行優化的詳細文件的摘要,但仍將完整文件提交給LLM,以確保在答案合成期間不會遺漏上下文。在這裡,我們展示了該方法除了原始文字之外還有用,通常可以獲得表格或圖像以支援RAG。

文件載入

當然,為了實現這種方法,我們首先需要能夠將文件劃分為各種類型。Nostructed 是一個非常適合此目的的出色ELT 工具,因為它可以從文件圖像類型中提取元素(表格、多種、文字) 。

例如,非構造將分割先刪除所有嵌入影像區塊來分割 PDF 檔案。然後將使用佈局模型(YOLOX)來取得邊界框(用於表格)以及titles檔案的候選子部分(例如,簡介等) )。然後,將會執行後續處理以聚合屬於每個文本的文本title,並根據使用者特定的標誌(例如,最小區塊大小等)進一步將文本區塊替換為下游處理的文字區塊。

半結構化數據

非結構化檔案解析和多索引搜尋器的結合可以支援半結構化資料上的RAG,這對於可能吐出表格的天真的分塊策略來說是一個挑戰。我們產生表格元素的摘要,這更適合自然語言檢索。如果透過與使用者問題的相似性檢索表格摘要,則原始表格將提交給法學碩士以進行答案合成,如上所述。請參閱下面的食譜和圖表:

多模態數據

我們可以更進一步,考慮影像,隨著GPT4-V等多模式LLM和LLaVAFuyu-8b等開源模型的發布,圖像很快就成為可能。至少有清晰的方法可以解決這個問題,這些方法利用了上面討論的多支援搜尋器框架:

Option 1:使用多模態嵌入(如CLIP)將圖像和文字嵌入在一起。使用相似性搜索進行搜索,但只需鏈接到文件庫中的圖像即可。將原始圖像和文字塊傳遞給多模式法學碩士進行合成。

Option 2: 使用多模式LLM(例如GPT4-VLLaVAFUYU-8b)從圖像產生文字摘要。使用文字嵌入模型嵌入和檢索文字摘要。並且,再次引用文件庫中的原始文字區塊或表格,以供法學碩士進行答案合成;在這種情況下,我們從文件庫中修復影像(例如,因為無法使用多種模式LLM進行合成)。

Option 3:使用多模式 LLM(例如GPT4-VLLaVAFUYU-8b)從圖像產生文字摘要。參考原始圖像嵌入和檢索圖像摘要,就像我們在上面的選項 1 中所做的那樣。並且,再次將原始圖像和文字塊傳遞到多模式LLM進行答案合成。如果我們不想使用多模式嵌入,那麼這個選項是明智的。

我們測試 option 2使用7b參數LLaVA模型此處提供權重)來產生圖像圖像摘要。LLaVA最近添加到llama.cpp中,導出可以在筆記消費型電腦(Mac M2 max,32gb ~45令牌/秒)上運行並產生合理的圖像摘要。例如,下面的圖片捕捉到了幽默:The image features a close-up of a tray filled with various pieces of fried chicken. The chicken pieces are arranged in a way that resembles a map of the world, with some pieces placed in the shape of continents and others as countries. The arrangement of the chicken pieces creates a visually appealing and playful representation of the world.

我們將它們與表格和文字摘要一起儲存在多個搜尋工具中。

如果擔心資料隱私,可以使用消費性筆記型電腦上的開源元件在本地運行此 RAG 管道,其中包含用於圖像摘要的 LLaVA 7b、 Chroma 支援儲存、開源嵌入( Nomic 的GPT4All 多搜尋搜尋器和LLaMA2 -13b –Ollama.ai透過以產生答案。

Lnagchain證明多搜尋器可用於支援半成型 RAG 以及具有多模態資料的半成型 RAG。我們還表明,這個完整的管道可以使用開源元件在消費性筆記型電腦上本地運行。最後,我們提出了更多模態RAG 的清晰通用方法,這些方法利用多重支援搜尋器概念作為未來食譜中的功能。

發表迴響

探索更多來自 YOLOLab - You Only Live Once 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

繼續閱讀

%d