LLM論文研讀: GraphRAG的替代者LightRAG

1.背景

最近有一個很火的開源項目LightRAG,Github6.4K+星※,北郵和港大聯(lián)合出品,是一款微軟GraphRAG的優(yōu)秀替代者,因此本qiang~得了空閑,讀讀論文、跑跑源碼,遂有了這篇文章。

2.?LightRAG框架

2.1已有RAG系統(tǒng)的局限性

1) 許多系統(tǒng)僅依賴于平面數(shù)據(jù)表示(如純文本),限制了根據(jù)文本中實體間復(fù)雜的關(guān)系來理解和檢索信息的能力。

2) 許多系統(tǒng)缺乏各種實體及其關(guān)系之間保持一致所需的上下文意識,導(dǎo)致可能無法完全解決用戶的問題。

2.2 LightRAG的優(yōu)勢

1) 引入圖結(jié)構(gòu):將圖結(jié)構(gòu)引入文本索引及相關(guān)信息檢索的環(huán)節(jié)中,圖結(jié)構(gòu)可以有效表示實體及其關(guān)系,有利于上下文的連貫性與豐富性。

2) 綜合信息檢索: 從所有文檔中提取相互依賴的實體的完整上下文,以確保信息檢索的綜合性。相對于傳統(tǒng)的RAG,可能只關(guān)注于Chunk后的局部文本,缺乏全局綜合信息。

3) 增強檢索效率: 提高基于圖結(jié)構(gòu)的知識檢索效率,以顯著減少響應(yīng)時間。

4) 新數(shù)據(jù)的快速適配: 能夠快速適應(yīng)新的數(shù)據(jù)更新,確保系統(tǒng)在動態(tài)環(huán)境中保持相關(guān)性。

5) 減少檢索開銷: 相對于GraphRAG以社區(qū)遍歷的方法,LightRAG專注于實體和關(guān)系的檢索,進而減少開銷。

2.3 LightRAG的框架


LightRAG將基于圖結(jié)構(gòu)的文本索引(graph-based text indexing)無縫地集成到一個雙層檢索框架(dual-level retrieval framework)中,因此能夠提取實體間復(fù)雜的內(nèi)部關(guān)系,提高響應(yīng)的豐富性和連貫性。

雙層檢索策略包括低級檢索和高級檢索,其中低級檢索重點關(guān)注特定實體及其關(guān)系的準(zhǔn)確信息,高級檢索則包含了廣泛的主題信息。

此外,通過將圖結(jié)構(gòu)與向量表征相結(jié)合,LightRAG促進了相關(guān)實體和關(guān)系的有效檢索,同時基于結(jié)構(gòu)化的知識圖譜中相關(guān)的信息,增強了結(jié)果的全面性。

LightRAG無需重復(fù)構(gòu)建整個索引,降低了計算成本且加速了適配,而且其增量更新算法保障了新數(shù)據(jù)的及時整合。

2.3.1 基于圖的文本索引

1) 實體及關(guān)系抽取:LightRAG先將大文本切分為小文本,然后利用LLM識別并抽取小文本中各種實體及其關(guān)系,此舉可便于創(chuàng)建綜合的知識圖譜,prompt示例如下:

2) 使用LLM性能分析功能生成鍵值對:使用LLM提供的性能分析函數(shù),為每個實體及每條關(guān)系生成一個文本鍵值對(K, V),其中K是一個單詞或短語,便于高效檢索,V是一個文本段落,用于文本片段的總結(jié)

3) 去重以優(yōu)化圖操作:通過去重函數(shù)識別并合并來自不同段落的相同實體和關(guān)系。有效地減少了與圖操作相關(guān)的開銷,通過最小化圖的大小,從而實現(xiàn)更高效的數(shù)據(jù)處理。

2.3.2 雙層檢索機制

1) 在細節(jié)層和抽象層分別生成查詢鍵:具體查詢以細節(jié)為導(dǎo)向,許精確檢索特點節(jié)點或邊相關(guān)信息;抽象查詢更加概念化,涵蓋更廣泛的主題、摘要,其并非與特定實體關(guān)聯(lián)。

2) 雙層檢索機制:低級檢索聚焦于檢索特定實體及其屬性或關(guān)系信息,旨在檢索圖譜中指定節(jié)點或邊的精確信息;高級檢索處理更廣泛的主題,聚合多個相關(guān)實體和關(guān)系的信息,為高級的概念及摘要提供洞察力。

3) 集成圖以及向量以便高效檢索:通過圖結(jié)構(gòu)和向量表示,使得檢索算法有效地利用局部和全局關(guān)鍵詞,簡化搜索過程并提高結(jié)果的關(guān)聯(lián)性。具體分為如下步驟:

a. 查詢關(guān)鍵詞提取:針對給定的問題,LightRAG的檢索算法首先分別提取局部查詢關(guān)鍵詞和全部查詢關(guān)鍵詞

關(guān)鍵詞提取的prompt如下:

b. 關(guān)鍵詞匹配:檢索算法使用向量數(shù)據(jù)庫來匹配局部查詢關(guān)鍵詞與候選實體,以及全局查詢關(guān)鍵詞與候選關(guān)系(與全局關(guān)鍵詞關(guān)聯(lián))

c. 增強高階關(guān)聯(lián)性: LightRAG進一步收集已檢索到的實體或關(guān)系的局部子圖,如實體或關(guān)系的一跳鄰近節(jié)點

2.3.3 檢索增強回答生成

1) 使用已檢索信息: 利用已檢索的信息,包括實體名、實體描述、關(guān)系描述以及原文片段,LightRAG使用通用的LLM來生成回答。

2) 上下文集成及回答生成: 將查詢串與上下文進行整合,調(diào)用LLM生成答案。

2.3.4 整體過程示例

3.?實驗

3.1 數(shù)據(jù)源

從UltraDomain基準(zhǔn)中選取了4個數(shù)據(jù)集,分別包括農(nóng)業(yè)、計算機科學(xué)、法律、混合集,每個數(shù)據(jù)集包含60W-500W個token。

3.2 問題生成

為了評估LightRAG的性能,首先通過LLM生成5個RAG用戶,且為每個用戶生成5個任務(wù)。每個用戶均具有描述信息,詳細說明了他們的專業(yè)知識和特征,以引發(fā)他們提出相關(guān)問題。每個用戶任務(wù)也具有描述信息,強調(diào)其中一個用戶在于RAG交互時的潛在意圖。針對每個用戶任務(wù)的組合,LLM生成5個需要理解整個數(shù)據(jù)集的問題。因此,每個數(shù)據(jù)集共產(chǎn)生125個問題。

問題生成的prompt如下:

3.3 基線模型

選取的4個基線模型包括Naive RAG, RQ-RAG, HyDE, GraphRAG。

3.4評價維度及細節(jié)

實驗中,向量檢索采用nano 向量庫,LLM選擇GPT-4o-mini,每個數(shù)據(jù)集的分塊大小為1200,此外收集參數(shù)(gleaning parameter,目的在于僅通過1輪LLM無法完全提取對應(yīng)的實體或關(guān)系,因此該參數(shù)旨在增加多次調(diào)用LLM)設(shè)置為1。

評價標(biāo)準(zhǔn)采用基于LLM的多維度比較方法,使用GPT-4o-mini針對LightRAG與每個基線的響應(yīng)進行排名。主要包含如下4個維度:全面性(回答多大程度解決了問題的所有方面和細節(jié))、多樣性(與問題相關(guān)的不同觀點,答案的多樣性和豐富性如何)、接受度(答案是否有效使讀者理解主題并做出明確判斷)、整體評價(評估前三個標(biāo)準(zhǔn)的累積評價)。

評價prompt如下:

3.5 實驗結(jié)果

3.5.1 與基線RAG方法比較

3.5.2 雙層檢索及基于圖結(jié)構(gòu)的索引增強消融結(jié)果

3.5.3 具體示例研究

3.5.4 與GraphRAG的成本比較

4.?整體工作流

圖片建議放大,看的更清楚~

LightGraph的源碼可讀性非常強,建議看官們可以基于上面這張流程圖,逐步調(diào)試LightGraph,以了解其檢索和生成兩個模塊的具體細節(jié)。

如果源碼層面有問題的話,可以私信或評論進一步交流~

5.總結(jié)

一句話足矣~

本文針對開源的LightRAG論文研讀以及原理分析,包括核心模塊、框架的整體工作流程等內(nèi)容。

如果想免費獲取使用GPT-4o-mini的api接口,以及對原理或源碼不清楚的看官,可私信或評論溝通。

6.參考

1) LightGraph論文地址: https://arxiv.org/pdf/2410.05779v1

2) LightGraph源碼地址:https://github.com/HKUDS/LightRAG

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容