一文徹底搞懂GraphRAG
自ChatGPT引領人工智能的新潮流以來,我們見證了大型語言模型(LLM)與私有數據結合的巨大潛力。這種結合不僅催生了功能強大的AI應用,也標志著AI專業能力的提升。
然而,隨著深入探究,我們發現傳統的文本嵌入檢索技術(Text2Vec RAG)在處理知識庫問答時仍存在局限。本文闡述如何通過圖形RAG技術,有效填補這一空白,實現對知識庫的深入挖掘和全面理解。
1 局部和全局問題
文本嵌入檢索技術讓LLM應用能夠穩定地根據知識庫內容回答問題。Text2Vec的優勢在于能夠從知識庫中提取關鍵事實,直接回答用戶的問題。但這種方法也有局限,它依賴于查詢的具體性,且難以處理跨文檔的抽象問題。
想象一下,有一個詳盡的諾貝爾和平獎得主知識庫。問系統“2023年的諾貝爾和平獎得主是誰?”這種問題,系統能迅速給出答案,因為這些信息在知識庫中清晰可查。但若問“過去十年最杰出的諾貝爾和平獎得主有哪些?”系統就可能束手無策,尤其是當問題需要跨文檔整合信息時。例如,用戶可能好奇“最近幾屆諾貝爾和平獎得主主要關注哪些議題?”如果這些議題在知識庫中沒有直接提及,傳統的文本嵌入檢索就難以給出滿意的答案。
因此,引入圖形RAG,這不僅能夠解決具體的局部問題,還能應對需要全局視角的復雜問題。
知識圖譜通過半結構化的層次方法組織信息,允許我們在數據集的全局層面上進行推理,識別節點間的復雜關系。圖形RAG利用這種結構,通過識別緊密相連的節點群體——即社區,來構建對用戶查詢的深入理解。
圖形RAG的流程簡化為:
- 圖形提取:從數據中抓取節點和邊,形成知識圖譜。
- 圖形存儲:將圖譜存儲于數據庫,保證信息的管理和檢索。
- 社區檢測:發現圖中的社區,每個社區代表一個主題。
- 社區報告:為每個社區制作報告,梳理節點和邊的關系。
- 上下文構建:通過Map Reduce技術整合社區信息,為用戶查詢提供精準上下文。
這一流程優化了信息檢索,對用戶復雜查詢的響應更加精準和全面。
2 構建知識圖譜:圖形提取
構建對非結構化知識庫的抽象理解,首先需要提取構建知識圖譜的關鍵節點和邊,這一過程可以通過大型語言模型(LLM)自動化實現。挑戰在于甄別哪些概念和關系是有價值的。
例如,從一篇關于沃倫·巴菲特的文章中提取信息,他的持股和出生地等信息顯然是關鍵實體和邊,而他上次董事會會議上領帶的顏色則可能無關緊要。關鍵在于根據應用場景和領域定制提取提示,這將直接影響從數據中提取的信息類型。
設定提取提示可以通過兩種方式:一是多輪提示,即提供一系列輸入輸出樣例讓LLM學習;二是LLM微調,即在特定數據集上訓練模型以提高性能。雖然微調可能更有效,但也更耗費時間。
3 圖譜數據的存儲與管理
已經成功設置LLM的提取流程。面對存儲問題,雖然Neo4j和Arango DB是圖形數據庫的首選,但學習新的查詢語言可能耗時。
為了簡化,可以使用graph2nosql,這是一個Python接口,支持在NoSQL數據庫中存儲圖形數據,并支持基本的圖形操作,如節點管理、圖形可視化和社區檢測。這樣,可以避免復雜的數據庫技術棧,同時保持數據的靈活性和易用性。
graph2nosql 數據模型
4 社區檢測
完成圖形數據的提取與存儲后,緊接著的任務便是識別圖中的社區結構。社區由緊密相連的節點群組成,其內部聯系遠比與圖外節點更為頻繁。這一識別過程可以通過多種社區檢測算法實現。
Louvain算法是其中一種廣泛應用的方法,它通過不斷迭代合并節點,形成社區,直至達到優化的模塊度標準——模塊度是評價社區劃分優劣的一個重要指標。
除此之外,還有幾種知名的社區檢測算法,包括:
- Girvan-Newman算法
- Fast Unfolding算法
- Infomap算法
這些算法各有優勢,適用于不同的場景和需求。
5 社區報告生成
社區報告基于已識別的社區,提煉出節點和邊的關鍵信息,幫助我們把握知識庫的核心主題。每個社區都代表一個主題,為解答相關問題提供具體上下文。社區報告是跨文檔信息整合的起點,有助于構建對知識庫的整體理解。
例如,諾貝爾和平獎得主的社區報告可能會突出顯示與獲獎者相關的主要議題。而"發現"功能則進一步深化了這些報告,提供了更細致的洞察。
為了確保社區報告的相關性和準確性,應根據具體應用場景進行細致的提示設計或模型微調。
6 上下文構建:Map Reduce的應用
在處理查詢時,采用map-reduce模式來構建從中間到最終的響應。
Map階段:這里,我們將每個社區與用戶查詢配對,利用社區報告來生成對查詢的初步答案。同時,還會讓LLM評估社區報告對用戶查詢的相關性。
Reduce階段:隨后,根據生成的中間響應的相關性得分進行排序,篩選出最相關的前k個社區。這些社區的報告,連同節點和邊的信息,將作為最終LLM提示的上下文,確保答案的準確性和深度。
7 結語
Text2vec RAG在知識庫問答方面存在局限,而圖形RAG則能巧妙地補上這一短板。它通過社區報告為知識庫提供了更深層次的理解,幫助團隊快速定位關鍵信息,提升效率。然而,這種方法在調用LLM時成本較高,可能帶來延遲。
未來,RAG系統可能會采用混合策略,根據查詢類型選擇最合適的工具,如利用社區報告作為上下文候選。這一領域的探索仍在進行中。
本文轉載自 ??AI科技論談??,作者: AI科技論談
