E2GraphRAG:圖結構 RAG 的效率 “加速器”

大家好,我是肆〇柒。大型語言模型(LLM)在自然語言處理(NLP)任務中廣泛應用,但存在幻覺問題和領域知識缺乏等局限性。檢索增強生成(RAG)技術通過整合外部知識源,與 LLM 的上下文學習能力,展現出緩解這些問題的潛力。RAG 技術在開放域問答、知識密集型 NLP 任務和長文檔理解等領域具有重要應用價值,能夠顯著提升模型的回答準確性和可靠性。
現有圖結構 RAG 方法的不足
現有圖結構 RAG 方法(如 GraphRAG、RAPTOR、LightRAG 等)雖具優勢,但存在明顯問題。GraphRAG 作為首個從原始文本自動構建知識圖并支持全局查詢的方法,因頻繁調用 LLM 導致索引階段成本高昂、延遲顯著。在實際應用中,GraphRAG 處理一本 200k tokens 的書,因調用 LLM 次數過多,索引時間長達數小時,時間成本增加約 3-5 倍。RAPTOR 雖構建層次摘要樹,卻因忽略文檔原始語境流程、聚類耗時且采用傳統向量檢索導致結果偏差。LightRAG 和 FastGraphRAG 雖降低索引開銷,但 LLM 輸出格式不穩定導致實體和關系提取不準確。LazyGraphRAG 因檢索延遲高,無法滿足實時新聞分析系統快速檢索和生成新聞洞察的需求,導致響應遲緩,影響用戶體驗。
E2GraphRAG 的針對性突破
E2GraphRAG 針對現有圖結構 RAG 方法的效率瓶頸、單一結構整合不足以及檢索靈活性問題,提出創新解決方案。其核心創新在于構建摘要樹與實體圖雙結構,結合自適應檢索策略,實現高效索引與精準檢索。實驗表明,E2GraphRAG 在索引階段比 GraphRAG 快 10 倍,在檢索階段比 LightRAG 快 100 倍,同時保持出色的問答性能,在 NovelQA 使用 Qwen 時取得最佳性能,在 InfiniteQA 跨兩個基礎模型均表現最佳。
現有技術回顧
RAG 方法分類
RAG 方法可以根據其依賴的外部知識源類型大致分為兩類:基于非結構化文本知識庫的 RAG 方法和基于結構化實體圖的 RAG 方法。
基于非結構化文本知識基的 RAG 方法
這類方法主要依賴于非結構化的文本數據作為外部知識源。它們通過檢索與查詢相關的文本片段(通常是文檔或文檔片段)來增強語言模型的上下文理解能力。這些方法的優點在于其靈活性和適應性,因為非結構化文本可以涵蓋各種主題和領域。然而,由于缺乏全局和結構化的理解,這些方法在處理復雜查詢時可能會遇到困難,例如在需要多跳推理或長文檔理解的場景中。
基于結構化實體圖的 RAG 方法
與基于非結構化文本的方法不同,基于結構化實體圖的 RAG 方法利用預先構建的實體圖作為知識源。這些實體圖通常包含豐富的語義信息,如實體之間的關系和屬性。通過在實體圖上進行檢索,模型可以更有效地進行多跳推理和信息聚合,從而提供更深入的語義理解。然而,構建高質量的領域特定知識圖通常需要大量的專家努力,并且難以擴展到新的領域或數據集。
現有圖結構 RAG 方法及應用案例
剛才提到的,基于非結構化文本知識庫的 RAG 方法易組織且適應性強,但缺乏對內容的全局和結構化理解?;诮Y構化實體圖的 RAG 方法支持多跳推理和信息聚合,構建高質量領域知識圖卻需大量專家努力且難以擴展。
比如,GraphRAG 利用 LLM 構建知識圖、聚類節點和總結社區形成多粒度知識圖,但索引階段因頻繁調用 LLM 導致高昂成本和延遲,全局檢索依賴 LLM 判斷相關社區帶來顯著計算開銷。在科技領域問答系統中,GraphRAG 因索引效率低難以及時更新知識庫,無法快速響應用戶查詢。RAPTOR 構建層次摘要樹卻忽略文檔原始語境流程,聚類耗時且傳統向量檢索易導致結果偏差。在金融領域風險評估報告分析中,RAPTOR 無法準確把握報告語境邏輯,出現檢索結果偏差。LightRAG 和 FastGraphRAG 雖降低索引開銷,但 LLM 輸出格式不穩定導致實體和關系提取不準確。在醫療文獻檢索中,影響對醫療知識的準確檢索和應用。LazyGraphRAG 因檢索延遲高,無法滿足實時新聞分析系統快速檢索和生成新聞洞察的需求,導致響應遲緩,影響用戶體驗。
E2GraphRAG 方法
索引階段
文檔預處理
將文檔分塊,使用對應后續總結任務模型的分詞器,劃分為 1200 tokens 的塊,相鄰塊間重疊 100 tokens,以減少句子分割導致的語義損失。分塊后的文檔結構為D= C1,C2 ,...,Cn。
摘要樹構建
遞歸合并和總結文本塊構建層次樹結構。每 g 個連續塊組總結一次,采用最小化提示策略,因現代 LLM 在指令調優階段已接受大量文本總結任務訓練。使用預訓練嵌入模型編碼所有塊和總結,利用 Faiss 存儲向量實現高效密集檢索。摘要樹結構中,葉節點對應塊,中間或根節點對應總結。節點越靠近根,信息越全局抽象;越靠近葉,信息越詳細具體。以圖表直觀展示摘要樹結構,區分不同信息層次。
具體算法步驟:
1. 輸入文檔 D,分詞處理后劃分為多個塊 c?, c?,…,c?。
2. 初始化總結層次 h 為 0,塊序列 S? = D。
3. 對每個總結層次 h,從 S? 中每 g 個連續塊生成一個總結塊 s。
4. 若總結塊數量大于 g,則 h +=1,S? = 生成的總結塊序列,重復步驟 3;否則,停止總結,得到最終摘要樹。
5. 使用預訓練嵌入模型對所有塊和總結塊編碼,得到向量表示,通過 Faiss 索引存儲。
例如,在處理一本包含 100 個文本塊的文檔時,假設每 5 個塊進行一次總結,那么第一層總結將生成 20 個總結塊。若繼續總結,每 5 個總結塊再次總結,最終可能得到 4 個最高層次的總結塊,形成一個層次分明的摘要樹。

E2GraphRAG索引階段的概述。左側展示了索引任務,中間部分呈現了四種數據結構,右側顯示了構建的兩個索引
上圖直觀展示了索引階段的四大核心任務:文檔預處理、實體圖提取、摘要樹構建及兩種索引的建立??梢钥吹?,文檔預處理后得到的塊,經過實體抽取構建實體圖,同時塊通過遞歸總結形成摘要樹,實體圖與摘要樹之間通過實體-塊索引和塊-實體索引建立聯系。
實體圖提取
利用 SpaCy 提取每個塊中的命名實體和普通名詞作為實體。將共現于同一句子中的實體間構建無向加權邊,邊權重計算公式為:w(e_i,e_j) = 共現次數 / 句子中實體總數。將塊級子圖合并為整個文檔的圖,統一相同實體并累加相同源目標實體對的邊權重。構建實體到塊和塊到實體的索引,實現實體圖與摘要樹間的多對多映射,為后續檢索提供便利。
例如,在一個新聞文檔的處理中,某個文本塊中提到 “公司 A 在 2024 年發布新產品 B,該產品采用新技術 C”,則通過 SpaCy 可提取出 “公司 A”“新產品 B”“新技術 C” 等實體,并根據它們在句子中的共現關系構建加權邊。這些邊的權重反映了實體之間的關聯緊密程度,為后續檢索提供了豐富的語義信息。
并行優化
總結任務依賴 LLM 和 GPU,SpaCy 實體提取主要在 CPU 上運行,二者可并行執行。在多線程環境下,分別啟動 LLM 總結任務和 SpaCy 實體提取任務,通過線程間通信機制協調進度,優化整體計算時間,降低索引階段時間成本。
例如,在實際的服務器環境中,可以分配 4 個 CPU 核心用于 SpaCy 實體提取任務,同時利用 GPU 加速 LLM 的總結任務。通過合理調度,確保兩個任務并行執行且互不干擾,從而將索引時間減少約 40%。
檢索階段
自適應檢索策略核心思想
基于查詢中實體在圖中的連接密度動態選擇局部檢索和全局檢索模式。查詢實體在圖中密集連接則局部檢索,否則全局檢索。這種機制通過建模實體間結構關系,避免手動預定義查詢模式,提升檢索靈活性和針對性。
以下是算法的偽代碼,能夠直觀地展示檢索階段的邏輯流程,幫助大家更好地理解 E2GraphRAG 的檢索機制

檢索階段的偽代碼
局部檢索流程
- 實體提取與映射 :使用 SpaCy 從查詢中提取實體,并映射到構建的圖頂點,忽略無法映射的實體。
- 圖過濾步驟 :枚舉查詢實體對并根據最短路徑跳數進行篩選,保留滿足條件的實體對集合 Ph。超參數 h 控制過濾嚴格程度,平衡后續步驟中召回塊數量。具體篩選算法如下:

- 索引映射與候選塊獲取 :對于 Ph 中的每個實體對,利用實體到塊索引獲取相關塊的交集,形成候選塊集 Cevidence。當候選塊數量不超過 k 時直接返回結果,否則通過逐步降低 h 跳閾值來減少塊數量,直至滿足條件或結果為空,再回退并應用基于實體覆蓋和出現頻率的排名機制選擇最終塊。具體操作步驟如下:

- 排名與格式化 :實體覆蓋排名計算公式為:score_coverage(c) = 匹配的實體數量 / 塊 c 中的總實體數量;實體出現排名計算公式為:score_occurrence(c) = 匹配的實體出現次數 / 塊 c 的總詞數。利用塊到實體索引優化排名時間。將檢索到的塊和實體以 “實體 1 - 實體 2:塊” 格式組織輸入給 LLM,采用去重和合并連續塊的優化策略,減少輸入冗余和 token 消耗。
例如,在檢索與 “人工智能” 和 “機器學習” 相關的信息時,通過圖過濾步驟篩選出這兩個實體在知識圖譜中緊密相連的部分,如 “深度學習”“神經網絡” 等相關實體對。然后利用索引映射獲取包含這些實體的文本塊,經過排名與格式化后,將相關信息以清晰的結構輸入到 LLM 中,以便生成準確且全面的回答。

E2GraphRAG的檢索階段。屬于局部檢索的操作以淺黃色突出顯示,而屬于全局檢索的操作以淺綠色突出顯示
上圖展示了檢索階段的完整流程,其中局部檢索操作用淺黃色突出顯示,包括實體提取、圖過濾等關鍵步驟;全局檢索操作則用淺綠色標識,清晰地區分了兩種檢索模式下的具體操作,有助于理解自適應檢索策略的執行過程。
全局檢索流程
當查詢中未識別出實體或實體對不滿足條件時,采用密集檢索方法在摘要樹上進行全局檢索。使用折疊樹密集檢索方法,利用索引階段的嵌入模型編碼查詢,計算查詢嵌入與索引嵌入的相似度,選擇前 k 個最相關的塊作為補充信息,并按相似度降序排列。具體算法如下:
1. 輸入查詢 q,摘要樹 T,嵌入模型 E,索引向量庫 V,檢索數量 k。
2. 使用 E 對 q 進行編碼,得到查詢向量 。
3. 在 V 中搜索與 最相似的 k 個向量,對應的塊為檢索結果。
4. 按相似度降序排列檢索結果并返回。
實驗
為了全面評估 E2GraphRAG 在索引和檢索效率以及問答效果方面的性能,通過與現有方法的對比,驗證 E2GraphRAG 是否能夠在保證效果的同時顯著提升效率。實驗設計涵蓋多個評估指標和數據集,以確保結果的可靠性和普適性。
實驗設置
基礎模型選擇
選擇 Qwen2.5-7B-Instruct 和 Llama3.1-8B-Instruct 作為基礎模型,因其在資源有限和數據隱私要求嚴格場景下適用。選擇 BGE-M3 作為嵌入模型,因其性能出色。
數據集介紹
使用 NovelQA 和 InfiniteBench(包括 InfiniteChoice 和 InfiniteQA)數據集。這些數據集文檔平均包含約 200k tokens,適合評估方法在極長文檔上的全局查詢能力。NovelQA 包含 89 本書及 2305 個多項選擇問題,涵蓋 65 本公共領域書籍和 24 本購買的版權書籍。InfiniteChoice 包含 58 本書及 229 個多項選擇問題,InfiniteQA 包含 20 本書及 102 個問題。例如,NovelQA 中的《哈利?波特與阿茲卡班的囚徒》相關文檔,其語言風格為敘述性與對話性相結合,包含大量人物、事件等實體,對模型的實體關系捕捉和長文檔處理能力提出了較高要求。
評估指標
針對多項選擇和封閉式 QA 任務分別采用準確率和 ROUGE-L 作為評估指標。為評估索引和檢索階段的系統效率,測量每本書的索引時間和每個查詢的檢索時間。
與 GraphRAG-Local、GraphRAG-Global、LightRAGHybrid 和 RAPTOR 對比。這些方法的選擇依據是為了確保全面評估。部分方法因代碼未公開或與本地部署模型不兼容,無法納入實驗。
實驗結果與分析
深化實驗細節
- 數據集特點與性能表現 :在 NovelQA 數據集中,其涵蓋多種類型的書籍,如小說、歷史著作等。小說中的實體關系往往復雜且多變,如人物之間的情感糾葛、情節發展中的角色轉變等。E2GraphRAG 在處理這類文檔時,通過構建的實體圖能夠有效捕捉人物等實體之間的復雜關系。例如在處理《哈利?波特》系列相關問題時,能夠準確把握角色間的關系變化,從而為問答提供有力支持。歷史著作則涉及大量的事件、時間、地點等實體,其語義結構相對嚴謹。E2GraphRAG 的摘要樹構建有助于對歷史事件的發展脈絡進行層次化總結,便于快速定位與特定歷史時期或事件相關的信息。在不同領域數據集上的良好表現,證明了 E2GraphRAG 的廣泛適應性。

每個數據集中每個問題的實體數量
上表提供了每個數據集中每個問題的實體數量統計,包括平均值、最小值和最大值。下圖柱狀圖可以直觀地展示數據集中問題的實體復雜度分布。

不同實體數量中的問題分布
- 模型參數敏感性分析 :以總結層次 g 為例,當 g 取較小值時,如 g=2,意味著在構建摘要樹時,每 2 個連續塊進行一次總結。這會導致摘要樹的層次較多,葉節點到根節點的路徑較長。雖然這樣可以保留較多的細節信息,但也會增加索引時間和存儲開銷。實驗發現,當 g=2 時,索引時間比 g=5 時增加了約 30%,且檢索效率也略有下降,因為需要在更多的層次中進行遍歷搜索。而當 g 取較大值,如 g=10,雖然減少了摘要樹的層次,但每個總結塊涵蓋的信息范圍較廣,可能導致信息過于抽象,丟失一些關鍵細節,進而影響檢索結果的準確性。在檢索效果上,當 g=10 時,準確率相較于 g=5 時下降了約 5%。對于超參數 h,在局部檢索的圖過濾步驟中,h 的取值對實體對的篩選嚴格程度有顯著影響。較小的 h 值(如 h=1)會嚴格篩選出緊密相連的實體對,減少候選塊數量,提高檢索效率,但可能遺漏一些具有間接關聯的實體對,導致部分相關信息無法被檢索到。實驗表明,當 h=1 時,檢索召回率比 h=3 時降低了約 15%。而較大的 h 值(如 h=5)則會放寬篩選條件,召回更多候選塊,但增加了后續處理的數據量,降低了檢索效率。通過綜合考慮檢索效率和效果,確定 g 在 3-5 之間,h 在 2-4 之間時,E2GraphRAG 能夠取得較好的平衡。
效率對比
E2GraphRAG 在索引階段比 GraphRAG 快 10 倍,比 RAPTOR 快約 2 倍;在檢索階段比 LightRAG 快 100 倍以上,比 GraphRAG 的本地模式快約 10 倍。RAPTOR 因 GPU 加速的密集檢索實現最快檢索速度,但索引階段的聚類操作導致效率不高;GraphRAG 因小 LLM 輸出 JSON 格式的不穩定性,索引時間長;LightRAG 在索引階段因每個塊調用 LLM 提取多粒度實體和關系導致高延遲。

在 NovelQA、InfiniteChoice 和 InfiniteQA 上的總體結果,最佳結果以粗體標出,次優結果以下劃線標出。Met. 表示每個數據集的評估指標,在 NovelQA 和 InfiniteChoice 上使用準確率(accuracy),在 InfiniteQA 上使用 ROUGE-L。IT 表示索引構建時間,QT 表示查詢時間
上表呈現了 E2GraphRAG 與其他基線方法在 NovelQA、InfiniteChoice 和 InfiniteQA 數據集上的綜合性能對比。從表中可以看出,E2GraphRAG 在索引時間和查詢時間上均展現出顯著優勢。例如,在 NovelQA 數據集上使用 Qwen 模型時,E2GraphRAG 的索引時間僅為 1397.11,相較于 GraphRAG-L 的 13793.89 和 LightRAG 的 5290.93,效率提升高達 10 倍左右;查詢時間更是快至 0.02,相比 LightRAG 的 15.68 實現了 100 倍的加速。


時間成本隨文檔token數量變化的函數關系,針對每種方法進行統計。統計基于 NovelQA 和 InfiniteChoice 數據集,以 Qwen 作為基礎模型
上圖以 NovelQA 和 InfiniteChoice 數據集為例,進一步直觀展現了各方法索引時間隨文檔 tokens 數量變化的趨勢??梢钥闯?,E2GraphRAG 的索引時間增長趨勢最為平緩,表明其在處理長文檔時具備更優的時間復雜度,擴展性更強。例如,當文檔 tokens 數量達到較高值時,E2GraphRAG 的索引時間依然能保持在較低水平,而其他方法的索引時間則迅速攀升。
效果對比
E2GraphRAG 在 NovelQA 使用 Qwen 時取得最佳性能,在 InfiniteQA 跨兩個基礎模型均表現最佳。GraphRAG 的本地模式在效果上優于其他基線方法,但索引效率低。LightRAG 盡管試圖平衡效果和效率,但因依賴 LLM 能力且在使用 Llama3.1 時表現不佳,效果仍不理想。
例如,在 NovelQA 數據集上,使用 Qwen 模型時,E2GraphRAG 的準確率達到 45.6%,相較于 GraphRAG 提升了約 5%。在 InfiniteQA 數據集上,E2GraphRAG 在兩個基礎模型上的 ROUGE-L 分數均達到 13.65 和 11.07,相較于其他方法有顯著提升。
性能提升原因分析
索引階段,E2GraphRAG 的并行優化策略充分利用 LLM 和 SpaCy 的不同硬件資源,遞歸總結文本塊的算法有效降低了信息冗余,顯著提高了索引效率。檢索階段,自適應檢索策略能夠根據查詢特征動態選擇檢索模式,避免了傳統方法中固定檢索模式帶來的局限性。同時,實體圖的構建和利用增強了檢索結果的相關性和準確性,讓模型能夠更精準地捕捉實體間的語義關系。在不同數據集和模型中,E2GraphRAG 的優勢體現在高效處理長文檔和靈活應對復雜查詢。
例如,在處理長文檔時,E2GraphRAG 的摘要樹能夠快速定位到與查詢相關的不同層次的信息塊,而實體圖則能有效關聯這些信息塊中的實體,為生成連貫且準確的回答提供有力支持。這種結合全局和局部信息的能力,使其在面對復雜查詢時能夠提供更全面和準確的答案。

消融研究結果。每個數據集的最佳結果以粗體突出顯示。對于其他方法,與E2GraphRAG相比的性能差異在每個值下方標注,其中↓(紅色)表示下降,↑(綠色)表示上升。標注的數字表示與E2GraphRAG相比的性能絕對差異
上表展示了 E2GraphRAG 的消融研究結果。通過對比不同組件缺失情況下的模型性能,可以清晰地看出各個模塊對整體效果的貢獻。例如,當僅采用密集檢索時,模型性能在多個數據集上均出現明顯下降,表明自適應檢索策略和相關組件對提升檢索效果具有關鍵作用。這進一步驗證了 E2GraphRAG 設計的合理性和各組件的有效性。
總結
本文介紹了一種名為E2GraphRAG的改進型基于圖的檢索增強生成(RAG)框架,目標是為了解決現有圖結構RAG方法在效率和靈活性上的不足。E2GraphRAG框架結合了樹和圖結構的優點,在索引階段構建摘要樹和實體圖,并建立兩者之間的雙向索引;在檢索階段采用自適應檢索策略,根據查詢實體在圖中的連接情況動態選擇局部或全局檢索模式。
在索引階段,E2GraphRAG首先使用大型語言模型(LLM)遞歸地對文檔片段進行總結,生成多粒度的摘要樹。同時,利用SpaCy工具從每個片段中提取實體并構建實體圖,并為每個片段構建子圖,然后將所有片段級子圖合并成一個圖。此外,還構建了實體到片段和片段到實體的索引,以建立實體圖和摘要樹之間的多對多映射關系,便于后續檢索過程中的查找。
在檢索階段,E2GraphRAG采用自適應檢索策略。首先從查詢中提取實體,并將它們映射到構建的圖的頂點上。如果查詢實體在圖中密集連接,則執行局部檢索;否則,回退到全局檢索。這種自適應機制通過明確建模實體之間的結構關系,避免了繁瑣的手動設置查詢模式,提高了檢索的靈活性和針對性。局部檢索包括圖過濾步驟,保留查詢中語義相關的實體對,通過索引映射找到與這些實體對相關的片段集合,并進行進一步的篩選和排序。全局檢索則在查詢中沒有實體或實體對不滿足一定條件時執行,基于向量相似度從摘要樹中檢索候選片段,并根據實體出現的頻率對它們進行排序和選擇。
通過在NovelQA、InfiniteChoice和InfiniteQA等數據集上的實驗,驗證了E2GraphRAG在效率和效果上的優勢。實驗結果表明,E2GraphRAG在索引階段比GraphRAG快10倍,比RAPTOR快約2倍;在檢索階段比LightRAG快100倍以上,比GraphRAG的局部模式快約10倍,同時保持了與GraphRAG相當的效果。在NovelQA數據集上,使用Qwen時E2GraphRAG取得了最佳性能;在InfiniteQA數據集上,兩種基礎模型均取得了最佳性能。
盡管E2GraphRAG在試驗表現的效率和效果上取得了顯著提升,但其檢索設計仍然相對直觀,可能存在更優的檢索策略尚未被發現。此外,該模型對底層文檔的質量和中立性高度依賴,若索引了有偏見或錯誤的數據,系統可能會產生誤導性或有害的輸出。自動實體提取和圖構建也可能傳播錯誤或忽視少數觀點??傮w而言,E2GraphRAG通過大幅降低索引和檢索成本,為開放域問答、知識密集型NLP任務和長文檔理解等下游應用提供了更高效和有效的解決方案,同時強調了在使用該框架時應與可信的數據源和人類監督結合,以確保其負責任地使用。未來的工作可以探索去偏方法和提高檢索路徑的透明度。

























