LightRAG開源了!輕巧、強大,GraphRAG的進化版
Hi,這里是Aitrainee,歡迎閱讀本期新文章。
我們以前介紹了HybridRAG、GraphRAG這些,今天我們將介紹一個嶄新的RAG項目:LightRAG。
現(xiàn)有的RAG系統(tǒng)老是搞不清復雜關系,答案經(jīng)常被切碎,缺乏上下文,難以真正理解問題。而LightRAG就是來解決這些問題的,它把圖結構引入文本索引和檢索,采用雙層檢索系統(tǒng),從低到高全面覆蓋信息。更酷的是,它還能快速更新數(shù)據(jù),保持實時高效的響應,而且它已經(jīng)開源了哦!
并且你現(xiàn)在可以通過簡單的API調(diào)用來實現(xiàn)多種檢索模式,包括本地、全局和混合檢索。
LightRAG 的工作流程分為三個核心部分:
1.圖基文本索引(Graph-Based Text Indexing)
2.雙層檢索范式(Dual-Level Retrieval Paradigm)
3.增量知識庫的快速適應
一、圖基文本索引
步驟 1:實體和關系提取
? 使用大型語言模型(LLM)分析文檔,自動識別出文本中的實體(如人名、地點、組織等)及其關系(如“屬于”或“位于”)。
? 文本被分割成多個較小的塊(chunks)來提升處理效率。
步驟 2:LLM Profiling 生成鍵值對
? 對每個識別出的實體和關系,LLM 生成鍵值對(Key-Value Pair)。其中,“鍵”(Key)是一個或多個關鍵詞,而“值”(Value)是與這些實體或關系相關的文本段落。
步驟 3:去重優(yōu)化
? 合并不同文檔中的重復實體和關系,減少不必要的計算,提升處理速度。
二、雙層檢索范式
步驟 4:生成查詢關鍵詞
? 針對用戶查詢,系統(tǒng)自動提取局部關鍵詞(low-level)和全局關鍵詞(high-level)用于匹配檢索。
步驟 5:關鍵詞匹配
? 使用向量數(shù)據(jù)庫,局部關鍵詞會匹配相關的實體,全局關鍵詞會匹配到相應的實體關系。
步驟 6:整合高階相關性
? 為增強檢索的準確性,LightRAG 會收集檢索到的圖元素的鄰接節(jié)點,涉及檢索到的實體及其關系的上下文。
三、檢索增強的答案生成
步驟 7:使用檢索到的信息
? 檢索完成后,系統(tǒng)將提取到的實體和關系輸入LLM,并基于這些信息生成答案。
步驟 8:上下文整合與答案生成
? 系統(tǒng)將用戶查詢與多源檢索結果進行合并,生成符合查詢語境的答案。
四、增量知識庫的快速適應
步驟 9:增量更新知識庫
? 新文檔加入時,系統(tǒng)會按照之前的圖基索引步驟處理新文檔,將新生成的知識圖譜與現(xiàn)有圖譜數(shù)據(jù)合并,實現(xiàn)無縫更新。
步驟 10:減少計算開銷
? 為了提升效率,LightRAG 避免重建整個知識圖譜,僅更新新數(shù)據(jù)部分,從而減少計算開銷,提升系統(tǒng)響應速度。
通過這些步驟,LightRAG 實現(xiàn)了更精準、更高效、更具上下文關聯(lián)的知識檢索和答案生成,特別是對復雜問題的解決和大規(guī)模數(shù)據(jù)處理具有顯著優(yōu)勢。
LightRAG 架構實例解釋
LightRAG 主要通過以下幾個步驟來讓信息檢索更準確、更智能:
1.從文本中提取信息:系統(tǒng)會讀取文檔,識別出重要的“實體”(比如人、地點、事物)和它們之間的“關系”(比如某人屬于某組織,某事物位于某地)。
? 比如,系統(tǒng)可能會識別出“Beekeeper(養(yǎng)蜂人)”這個實體,并且提取出它與“Bee(蜜蜂)”的關系。
2.去掉重復信息:系統(tǒng)會去除文檔中相同的實體和關系,避免不必要的重復。這樣可以減輕系統(tǒng)的負擔,提高效率。
? 比如,系統(tǒng)發(fā)現(xiàn)同一個文檔中多次提到了“Beekeeper”,但意思相同,就只保留一次。
3.把信息放入圖表:這些提取出來的實體和關系會被放入一個“圖”中。在這個圖里,實體是“節(jié)點”,關系是“邊”,所有的節(jié)點和邊相連形成了一個可以高效查詢的信息網(wǎng)絡。
? 比如,圖中可以顯示“Beekeeper”節(jié)點和“Bee”節(jié)點通過一條“管理(Manage)”的邊相連。
4.雙層檢索:當用戶提問時,系統(tǒng)會分兩步進行檢索。首先,它會尋找與問題直接相關的“局部關鍵詞”(如“Beekeeper”),然后它會尋找與這些關鍵詞關聯(lián)的“全局關鍵詞”(如“Bee”、“Hive(蜂巢)”等)。
? 例如,用戶問:“養(yǎng)蜂人如何管理蜂群?”系統(tǒng)會找到“Beekeeper”相關的信息,同時也找到了“Bee”和“Hive”的相關內(nèi)容,給出更完整的答案。
5.生成答案:系統(tǒng)結合檢索到的信息,利用大語言模型(LLM)生成詳細的答案,并且確保答案邏輯連貫、信息準確。
6.知識更新:當有新的信息加入時,系統(tǒng)會把新信息無縫整合到已有的圖中,確保系統(tǒng)總是基于最新的知識進行檢索,而不會每次都重建整個系統(tǒng)。?
這張圖表可以理解為整個過程的可視化,它展示了從識別實體到檢索再到生成答案的完整流程。
面對問題“哪些指標最適合評估電影推薦系統(tǒng)?”時,LLM首先提取低層次和高層次的關鍵詞,用這些關鍵詞在生成的知識圖譜上檢索相關的實體和關系。檢索到的信息被組織成三個部分:實體、關系和相應的文本片段。然后,這些結構化的數(shù)據(jù)被送入LLM,幫助它生成一個全面的答案。
LightRAG在四個數(shù)據(jù)集/評估維度上都顯示出了顯著的改進,效果優(yōu)于GraphRAG、NaiveRAG、RQ-RAG 、HyDE。
在四個數(shù)據(jù)集和四個評估維度下,基線與LightRAG的勝率(%)對比
LightRAG 的代碼結構基于nano-graphrag,一個更小、更快的GraphRAG。
LightRAG 論文:https://arxiv.org/abs/2410.05779
