1.背景
最近有一個(gè)很火的開源項(xiàng)目LightRAG,Github6.4K+星※,北郵和港大聯(lián)合出品困肩,是一款微軟GraphRAG的優(yōu)秀替代者,因此本qiang~得了空閑脆侮,讀讀論文锌畸、跑跑源碼,遂有了這篇文章他嚷。
2.?LightRAG框架
2.1已有RAG系統(tǒng)的局限性
1) 許多系統(tǒng)僅依賴于平面數(shù)據(jù)表示(如純文本)蹋绽,限制了根據(jù)文本中實(shí)體間復(fù)雜的關(guān)系來(lái)理解和檢索信息的能力。
2) 許多系統(tǒng)缺乏各種實(shí)體及其關(guān)系之間保持一致所需的上下文意識(shí)筋蓖,導(dǎo)致可能無(wú)法完全解決用戶的問(wèn)題卸耘。
2.2 LightRAG的優(yōu)勢(shì)
1) 引入圖結(jié)構(gòu):將圖結(jié)構(gòu)引入文本索引及相關(guān)信息檢索的環(huán)節(jié)中,圖結(jié)構(gòu)可以有效表示實(shí)體及其關(guān)系粘咖,有利于上下文的連貫性與豐富性蚣抗。
2) 綜合信息檢索: 從所有文檔中提取相互依賴的實(shí)體的完整上下文,以確保信息檢索的綜合性瓮下。相對(duì)于傳統(tǒng)的RAG翰铡,可能只關(guān)注于Chunk后的局部文本,缺乏全局綜合信息讽坏。
3) 增強(qiáng)檢索效率: 提高基于圖結(jié)構(gòu)的知識(shí)檢索效率锭魔,以顯著減少響應(yīng)時(shí)間。
4) 新數(shù)據(jù)的快速適配: 能夠快速適應(yīng)新的數(shù)據(jù)更新路呜,確保系統(tǒng)在動(dòng)態(tài)環(huán)境中保持相關(guān)性迷捧。
5) 減少檢索開銷: 相對(duì)于GraphRAG以社區(qū)遍歷的方法,LightRAG專注于實(shí)體和關(guān)系的檢索胀葱,進(jìn)而減少開銷漠秋。
2.3 LightRAG的框架
LightRAG將基于圖結(jié)構(gòu)的文本索引(graph-based text indexing)無(wú)縫地集成到一個(gè)雙層檢索框架(dual-level retrieval framework)中,因此能夠提取實(shí)體間復(fù)雜的內(nèi)部關(guān)系抵屿,提高響應(yīng)的豐富性和連貫性庆锦。
雙層檢索策略包括低級(jí)檢索和高級(jí)檢索,其中低級(jí)檢索重點(diǎn)關(guān)注特定實(shí)體及其關(guān)系的準(zhǔn)確信息轧葛,高級(jí)檢索則包含了廣泛的主題信息搂抒。
此外,通過(guò)將圖結(jié)構(gòu)與向量表征相結(jié)合朝群,LightRAG促進(jìn)了相關(guān)實(shí)體和關(guān)系的有效檢索燕耿,同時(shí)基于結(jié)構(gòu)化的知識(shí)圖譜中相關(guān)的信息,增強(qiáng)了結(jié)果的全面性姜胖。
LightRAG無(wú)需重復(fù)構(gòu)建整個(gè)索引誉帅,降低了計(jì)算成本且加速了適配,而且其增量更新算法保障了新數(shù)據(jù)的及時(shí)整合。
2.3.1 基于圖的文本索引
1) 實(shí)體及關(guān)系抽取:LightRAG先將大文本切分為小文本蚜锨,然后利用LLM識(shí)別并抽取小文本中各種實(shí)體及其關(guān)系档插,此舉可便于創(chuàng)建綜合的知識(shí)圖譜,prompt示例如下:
2) 使用LLM性能分析功能生成鍵值對(duì):使用LLM提供的性能分析函數(shù)亚再,為每個(gè)實(shí)體及每條關(guān)系生成一個(gè)文本鍵值對(duì)(K, V)郭膛,其中K是一個(gè)單詞或短語(yǔ),便于高效檢索氛悬,V是一個(gè)文本段落则剃,用于文本片段的總結(jié)
3) 去重以優(yōu)化圖操作:通過(guò)去重函數(shù)識(shí)別并合并來(lái)自不同段落的相同實(shí)體和關(guān)系。有效地減少了與圖操作相關(guān)的開銷如捅,通過(guò)最小化圖的大小棍现,從而實(shí)現(xiàn)更高效的數(shù)據(jù)處理。
2.3.2 雙層檢索機(jī)制
1) 在細(xì)節(jié)層和抽象層分別生成查詢鍵:具體查詢以細(xì)節(jié)為導(dǎo)向镜遣,許精確檢索特點(diǎn)節(jié)點(diǎn)或邊相關(guān)信息己肮;抽象查詢更加概念化,涵蓋更廣泛的主題悲关、摘要谎僻,其并非與特定實(shí)體關(guān)聯(lián)。
2) 雙層檢索機(jī)制:低級(jí)檢索聚焦于檢索特定實(shí)體及其屬性或關(guān)系信息寓辱,旨在檢索圖譜中指定節(jié)點(diǎn)或邊的精確信息艘绍;高級(jí)檢索處理更廣泛的主題,聚合多個(gè)相關(guān)實(shí)體和關(guān)系的信息秫筏,為高級(jí)的概念及摘要提供洞察力鞍盗。
3) 集成圖以及向量以便高效檢索:通過(guò)圖結(jié)構(gòu)和向量表示,使得檢索算法有效地利用局部和全局關(guān)鍵詞跳昼,簡(jiǎn)化搜索過(guò)程并提高結(jié)果的關(guān)聯(lián)性。具體分為如下步驟:
a. 查詢關(guān)鍵詞提取:針對(duì)給定的問(wèn)題肋乍,LightRAG的檢索算法首先分別提取局部查詢關(guān)鍵詞和全部查詢關(guān)鍵詞
關(guān)鍵詞提取的prompt如下:
b. 關(guān)鍵詞匹配:檢索算法使用向量數(shù)據(jù)庫(kù)來(lái)匹配局部查詢關(guān)鍵詞與候選實(shí)體鹅颊,以及全局查詢關(guān)鍵詞與候選關(guān)系(與全局關(guān)鍵詞關(guān)聯(lián))
c. 增強(qiáng)高階關(guān)聯(lián)性: LightRAG進(jìn)一步收集已檢索到的實(shí)體或關(guān)系的局部子圖,如實(shí)體或關(guān)系的一跳鄰近節(jié)點(diǎn)
2.3.3 檢索增強(qiáng)回答生成
1) 使用已檢索信息: 利用已檢索的信息墓造,包括實(shí)體名堪伍、實(shí)體描述、關(guān)系描述以及原文片段觅闽,LightRAG使用通用的LLM來(lái)生成回答帝雇。
2) 上下文集成及回答生成: 將查詢串與上下文進(jìn)行整合,調(diào)用LLM生成答案蛉拙。
2.3.4 整體過(guò)程示例
3.?實(shí)驗(yàn)
3.1 數(shù)據(jù)源
從UltraDomain基準(zhǔn)中選取了4個(gè)數(shù)據(jù)集尸闸,分別包括農(nóng)業(yè)、計(jì)算機(jī)科學(xué)、法律吮廉、混合集苞尝,每個(gè)數(shù)據(jù)集包含60W-500W個(gè)token。
3.2 問(wèn)題生成
為了評(píng)估LightRAG的性能宦芦,首先通過(guò)LLM生成5個(gè)RAG用戶宙址,且為每個(gè)用戶生成5個(gè)任務(wù)。每個(gè)用戶均具有描述信息调卑,詳細(xì)說(shuō)明了他們的專業(yè)知識(shí)和特征抡砂,以引發(fā)他們提出相關(guān)問(wèn)題。每個(gè)用戶任務(wù)也具有描述信息恬涧,強(qiáng)調(diào)其中一個(gè)用戶在于RAG交互時(shí)的潛在意圖注益。針對(duì)每個(gè)用戶任務(wù)的組合,LLM生成5個(gè)需要理解整個(gè)數(shù)據(jù)集的問(wèn)題气破。因此聊浅,每個(gè)數(shù)據(jù)集共產(chǎn)生125個(gè)問(wèn)題。
問(wèn)題生成的prompt如下:
3.3 基線模型
選取的4個(gè)基線模型包括Naive RAG, RQ-RAG, HyDE, GraphRAG现使。
3.4評(píng)價(jià)維度及細(xì)節(jié)
實(shí)驗(yàn)中低匙,向量檢索采用nano 向量庫(kù),LLM選擇GPT-4o-mini碳锈,每個(gè)數(shù)據(jù)集的分塊大小為1200顽冶,此外收集參數(shù)(gleaning parameter,目的在于僅通過(guò)1輪LLM無(wú)法完全提取對(duì)應(yīng)的實(shí)體或關(guān)系售碳,因此該參數(shù)旨在增加多次調(diào)用LLM)設(shè)置為1强重。
評(píng)價(jià)標(biāo)準(zhǔn)采用基于LLM的多維度比較方法,使用GPT-4o-mini針對(duì)LightRAG與每個(gè)基線的響應(yīng)進(jìn)行排名贸人。主要包含如下4個(gè)維度:全面性(回答多大程度解決了問(wèn)題的所有方面和細(xì)節(jié))间景、多樣性(與問(wèn)題相關(guān)的不同觀點(diǎn),答案的多樣性和豐富性如何)艺智、接受度(答案是否有效使讀者理解主題并做出明確判斷)倘要、整體評(píng)價(jià)(評(píng)估前三個(gè)標(biāo)準(zhǔn)的累積評(píng)價(jià))。
評(píng)價(jià)prompt如下:
3.5 實(shí)驗(yàn)結(jié)果
3.5.1 與基線RAG方法比較
3.5.2 雙層檢索及基于圖結(jié)構(gòu)的索引增強(qiáng)消融結(jié)果
3.5.3 具體示例研究
3.5.4 與GraphRAG的成本比較
4.?整體工作流
圖片建議放大十拣,看的更清楚~
LightGraph的源碼可讀性非常強(qiáng)封拧,建議看官們可以基于上面這張流程圖,逐步調(diào)試LightGraph夭问,以了解其檢索和生成兩個(gè)模塊的具體細(xì)節(jié)泽西。
如果源碼層面有問(wèn)題的話,可以私信或評(píng)論進(jìn)一步交流~
5.總結(jié)
一句話足矣~
本文針對(duì)開源的LightRAG論文研讀以及原理分析缰趋,包括核心模塊捧杉、框架的整體工作流程等內(nèi)容陕见。
如果想免費(fèi)獲取使用GPT-4o-mini的api接口,以及對(duì)原理或源碼不清楚的看官糠溜,可私信或評(píng)論溝通淳玩。
6.參考
1) LightGraph論文地址: https://arxiv.org/pdf/2410.05779v1
2) LightGraph源碼地址:https://github.com/HKUDS/LightRAG