LazyGrapgRAG:與GraphRAG完全不同的方法
LazyGraphRAG 是微軟最新推出的一種與 Graph RAG 截然不同的方法,該方法不需要事先匯總源數據,從而避免了前期索引成本,而前期索引成本對于某些用戶和用例來說可能是難以承受的。
LazyGraphRAG 的一個關鍵優勢是其在成本和質量方面的固有可擴展性。
與標準向量 RAG、RAPTOR、GraphRAG 和 DRIFT 相比,LazyGraphRAG 在成本質量范圍內表現出色,如下所示:
- LazyGraphRAG 數據索引成本與向量 RAG 相同,僅為完整 GraphRAG 成本的 0.1%。
- 對于與向量 RAG 相當的查詢成本,LazyGraphRAG 在本地查詢方面的表現優于所有競爭方法,包括長上下文向量 RAG 和 GraphRAG DRIFT 搜索以及 GraphRAG 本地搜索。
- 相同的 LazyGraphRAG 配置也顯示出與 GraphRAG Global Search 相當的全局查詢答案質量,但查詢成本降低了 700 多倍。
- 對于 GraphRAG 全局搜索的查詢成本的 4%,LazyGraphRAG 在本地和全局查詢類型上的表現都明顯優于所有競爭方法,包括 C2 級別(大多數應用程序推薦的社區層次結構的第三級)的 GraphRAG 全局搜索。
LazyGraphRAG 即將在 GraphRAG 庫開源,它通過與標準向量 RAG 成本相當的輕量級數據索引為本地和全局查詢提供統一的查詢界面。
LazyGraphRAG 旨在融合向量 RAG 和 GraphRAG 的優勢,同時克服它們各自的局限性:
- 向量 RAG 是一種最佳優先搜索形式,它使用與查詢的相似性來選擇最佳匹配的源文本塊。但是,它沒有意識到全局查詢要考慮的數據集的廣度。
- GraphRAG 全局搜索是一種廣度優先搜索形式,它使用源文本實體的社區結構來確保查詢的答案考慮到數據集的全部廣度。但是,它沒有意識到本地查詢要考慮的最佳社區。
LazyGraphRAG 以迭代深化的方式結合了最佳優先和廣度優先搜索動態(表 1)。與完整 GraphRAG 的全局搜索機制相比,這種方法在某種程度上是“懶惰的”,可以推遲 LLM 的使用并顯著提高答案生成的效率。整體性能可以通過一個主要參數(相關性測試預算)進行擴展,該參數以一致的方式控制成本質量權衡。
LazyGraphRAG 表明,單一、靈活的查詢機制有可能在本地全局查詢范圍內大大優于各種專門的查詢機制,而且無需 LLM 數據匯總的前期成本。其非常快速且幾乎免費的索引功能使 LazyGraphRAG 成為一次性查詢、探索性分析和流數據用例的理想選擇,同時它能夠隨著相關性測試預算的增加而平穩地提高答案質量,使其成為對一般 RAG 方法進行基準測試的寶貴工具。
這是否意味著所有支持圖形的 RAG 都應該是惰性的?我們認為答案是否定的,原因有三:
- 實體、關系和社區摘要的 GraphRAG 數據索引具有超越問答的實用價值(例如,閱讀和共享報告)。
- GraphRAG 數據索引包含實體、關系和社區摘要,結合類似 LazyGraphRAG 的搜索機制,可能會取得比單獨使用 LazyGraphRAG 更好的效果。
- 一種旨在支持類似 LazyGraphRAG 的搜索機制(例如,通過先發制人的聲明和主題提?。┑男滦?GraphRAG 數據索引可能會取得最佳效果。
未來將會在 GraphRAG 倉庫開源:https://github.com/microsoft/graphrag
本文轉載自?? PyTorch研習社??,作者: 南七無名式
