什麼是GraphRAG

August 20, 2024

什麼是GraphRAG?

生成式人工智慧和法學碩士最令人興奮的應用之一是檢索增強生成 (RAG),它允許您與 PDF、文字檔案和 YouTube 影片等外部文件互動。

有程式碼的 GraphRAG 速成課程現已上線

這篇文章涵蓋以下主題:

什麼是 RAG 和知識圖?基線 RAG 的問題 GraphRAG 是如何運作的? GraphRAG 相對於 naive RAG 的優勢

最近,引入了一項名為 GraphRAG 的改進 Naive RAG 的新進展,它使用向量 DB 上的知識圖來在使用者輸入查詢時從外部文件中尋找相關資訊。這篇文章討論了 GraphRAG 及其相對於基準 RAG 的優勢

我的處女作《口袋裡的浪鏈》現已出版!

但在我們開始 GraphRAG 之前,您需要了解兩個主要概念,

  1. RAG 是如何運作的?

RAG 接受用戶的查詢並:

使用向量相似性在向量資料庫(使用外部文件準備)中搜尋相關資訊。選擇最相關的文件。提取有用的內容。將此內容與法學碩士相結合以產生答案。

由於我已經非常詳細地解釋了 RAG,所以我現在跳過它:

  1. 什麼是知識圖?

知識圖是資訊的結構化表示,捕捉實體、實體的屬性和關係。它對複雜的數據進行建模並突出顯示領域內的聯繫知識圖的一些關鍵組成部分是:

實體:知識圖譜的基本單位,代表現實世界的物件、概念或事物(例如,「阿爾伯特·愛因斯坦」、「相對論」、「大學」)。屬性:實體的屬性或特徵(例如,“阿爾伯特愛因斯坦”的屬性“生日”,值為“1879 年 3 月 14 日”)。關係:實體之間的聯繫,描述它們如何相互關聯(例如,「阿爾伯特愛因斯坦」透過「發展」關係與「相對論」相關)。節點和邊:在圖形表示中,實體是節點,關係是連接這些節點的邊。

考慮一個關於科學發現的簡單知識圖:

實體:「阿爾伯特愛因斯坦」、「相對論」、「光速」、「光電效應」屬性:「阿爾伯特愛因斯坦」(出生日期:「1879 年3 月14 日」)、「相對論」(出版:《1905 年)》)關係:

“阿爾伯特·愛因斯坦”發展了“相對論”

「相對論」 「相對論」與「光速」有關

“光速”“愛因斯坦”提出“光電效應”

它可能看起來像這樣

回到 GraphRAG

基本的 RAG 實現存在嚴重問題。考慮這個例子:

假設一家公司擁有大量內部文檔,包括研究論文、技術報告、電子郵件和會議記錄。目標是回答這個問題:“我們的人工智慧研究部門最近取得了哪些進展?”

檢索:

在文件集中搜尋「最新進展」和「AI 研究部門」等術語。根據向量相似性檢索最前面的文件(例如,包含相似短語的文檔)。

回覆:

列出了一些提及人工智慧研究進展的文檔或段落。努力將不同文件中的見解聯繫起來,經常呈現孤立的資訊而不進行綜合。

最終輸出可能會檢索這些句子:

文件 1:“我們的團隊最近開發了一種用於自然語言處理的新人工智慧模型。”

“我們的團隊最近開發了一種用於自然語言處理的新人工智慧模型。”文件2:“上個季度,我們在基於人工智慧的圖像識別方面取得了重大進展。”

“上個季度,我們在基於人工智慧的圖像識別方面取得了重大進展。”文件 3:“人工智慧進步日新月異”

您一定已經注意到,這種方法忽略了:

連接點:可能不會連結整個文件中但未直接提及的相關進展。此外,即使句子是填充文字(第三個輸出),但它很大程度上也是由文字相似性驅動的

:可能不會連結整個文件中但未直接提及的相關進展。此外,即使該句子是填充文本(第三個輸出),它在很大程度上也是由文本相似性驅動的。上下文。

GraphRAG來了

圖RAG

如前所述,Graph RAG 使用 KnowledgeGraph 而不是 Vector DB 進行資訊檢索,因此與基線 RAG 相比,輸出更健康、更有意義。

GraphRAG 是如何運作的?

GraphRAG 使用 LLM 自動從文字文件集合中提取豐富的知識圖譜。知識圖捕捉資料的語意結構,偵測不同粒度等級的密集連結節點的「社群」。這些社群摘要提供了資料集的概述,使系統能夠回答對於簡單的 RAG 方法來說很難的全域查詢。在回答使用者的問題時,GraphRAG 會從知識圖中檢索最相關的訊息,並使用它來調節 LLM 的回應,從而提高準確性並減少幻覺。

與基線 RAG 相比,使用 GraphRAG 的一些主要優點是:

與基本 RAG 相比,使用知識圖給出更完整和多樣化的響應。產生與原始資料更好地連接的回應,並且可以顯示資訊的來源。提供不同層級的資料集概述,以便使用者無需提出具體問題即可了解整體背景。比總結全文更有效,同時仍能產生高品質的回應。

至此,我將結束這篇文章。我們將在下一篇文章中探討如何實現 GraphRAG!

屆時,您可以在此處探索 Microsoft 的 GraphRAG 實作儲存庫

影像]

編者按,2024 年 4 月 2 日 – 圖 1 已更新,以澄清每個來源的來源。

也許法學碩士最大的挑戰和機會是擴展他們強大的能力,以解決他們接受過培訓的數據之外的問題,並利用法學碩士從未見過的數據獲得可比較的結果。這為數據調查開闢了新的可能性,例如根據上下文和數據集識別主題和語義概念。在這篇文章中,我們將介紹 Microsoft Research 創建的 GraphRAG,它是增強法學碩士能力的重大進步。

檢索增強生成(RAG)是一種基於用戶查詢搜尋資訊並提供結果作為生成人工智慧答案的參考的技術。該技術是大多數基於 LLM 的工具的重要組成部分,大多數 RAG 方法都使用向量相似性作為搜尋技術。 GraphRAG 使用 LLM 產生的知識圖在對複雜資訊進行文件分析時顯著提高問答效能。這是建立在我們最近的研究基礎上的,該研究指出了在私人資料集上執行發現時即時增強的力量。在這裡,我們將私有資料集定義為法學碩士未接受過培訓並且以前從未見過的數據,例如企業的專有研究、商業文件或通訊。創建基線 RAG[1] 是為了幫助解決此問題,但我們觀察到基線 RAG 性能非常差的情況。例如:

Baseline RAG 很難將這些點連結起來。當回答問題需要透過共享屬性遍歷不同的資訊以提供新的綜合見解時,就會發生這種情況。

當要求基線 RAG 全面理解大型資料集合甚至單一大型文件的概括語意概念時,基線 RAG 表現不佳。

為了解決這個問題,技術社群正在努力開發擴展和增強 RAG 的方法(例如 LlamaIndex(在新分頁中開啟))。微軟研究院的新方法GraphRAG使用LLM基於私有資料集建立知識圖。然後將該圖與圖機器學習一起使用,以在查詢時執行提示增強。 GraphRAG 在回答上述兩類問題方面顯示出顯著的進步,展示了優於先前應用於私有資料集的其他方法的智慧或掌握能力。

將 RAG 應用於私有資料集

為了證明 GraphRAG 的有效性,我們首先使用新聞文章中的暴力事件資訊 (VIINA) 資料集(在新分頁中開啟)進行調查。選擇該資料集是因為其複雜性以及存在不同意見和部分資訊。這是一個混亂的現實世界測試案例,由於最近才出現,因此未包含在 LLM 基礎模型的訓練中。

在這項研究中,我們使用了 2023 年 6 月來自俄羅斯和烏克蘭新聞來源的數千篇新聞文章(翻譯成英文)來創建一個私人資料集,我們將在該資料集上執行基於 LLM 的檢索。資料集太大,無法放入 LLM 上下文窗口,因此需要 RAG 方法。

我們從一個探索性查詢開始,我們向基準 RAG 系統和我們的新方法 GraphRAG 提出該查詢:

問題:“Novorossiya 是什麼?”

基線 RAG GraphRAG 所提供的上下文中未提及術語「Novorossiya」。然而,為了提供一些信息,Novorossiya(新俄羅斯)是一個歷史術語,指的是烏克蘭南部的一個地區,該地區在 18 世紀被俄羅斯帝國征服。近年來,俄羅斯支持的烏克蘭東部分離主義者重新使用了這個詞來指稱他們聲稱擁有主權的領土,但國際機構並未正式承認它是一個獨立的實體。新俄羅斯,又稱新俄羅斯,是一個具有歷史和當代意義的術語。歷史上,它指的是俄羅斯帝國南部的一個地區,現在是烏克蘭的一部分。在當代背景下,它被親俄分離主義者用來指稱烏克蘭的某些地區[數據:實體(6494, 912, 6493)]。

「Novorossiya」一詞在烏克蘭的政治運動中被使用,特別是俄羅斯民族主義者。這項運動與破壞烏克蘭穩定和創建所謂的「Novorossiya」的努力有關[數據:實體(912);關係(15211、15206)]。這個術語也被用來表示烏克蘭的一個分離主義國家,稱為新俄羅斯聯邦共和國 (FRN) [數據:實體 (7690)]。

在這些結果中,我們可以看到兩個系統都表現良好 - 突出顯示基線 RAG 表現良好的一類查詢。讓我們嘗試一個需要連接點的查詢:

詢問:“新俄羅斯做了什麼?”

基線 RAG GraphRAG 文本沒有提供有關 Novorossiya 所做工作的具體資訊。烏克蘭的政治運動 Novorossiya 參與了一系列破壞性活動,特別是針對烏克蘭的各種實體 [實體 (6494, 912)]。該運動與摧毀多個烏克蘭實體財產的計劃有關,包括羅森、敖德薩罐頭廠、敖德薩地區廣播電視傳輸中心和烏克蘭國家電視公司[關係(15207、15208、15209、15210)] 。除此之外,Novorossiya 也參與了摧毀 Roshen、敖德薩音樂學院工廠、敖德薩地區廣播電視傳輸中心和烏克蘭國家電信公司財產的計劃 [關係 (8329、8330、8331、8332)] 。此外,Novorossiya 也參與了炸毀烏克蘭最大國營銀行 PrivatBank ATM 機的計畫 [Relationships (8335, 8335)]。

烏克蘭總檢察長辦公室報告了 Novorossiya 的成立,顯示政府對該運動的活動的認識和潛在關注 [Relationships (8264, 8264)]。新俄羅斯的破壞活動對目標實體產生了重大影響,並可能加劇了該地區持續的緊張局勢和衝突。

總之,「新俄羅斯」參與了一系列針對烏克蘭境內各個實體的破壞性活動。這些活動對目標實體產生了重大影響,並可能加劇了該地區持續的緊張局勢和衝突。烏克蘭政府透過總檢察長辦公室承認了新俄羅斯組織的存在和活動,表明對該運動的行為表示一定程度的關注。

基線 RAG 無法回答這個問題。查看插入到上下文視窗中的來源文件(圖 1),沒有任何文字段討論 Novorossiya,導致此失敗。

圖 1:基線 RAG 檢索情境 [2]

相較之下,GraphRAG 方法在查詢中發現了一個實體 Novorossiya。這使得法學碩士能夠在圖表中紮根,並產生一個優秀的答案,其中包含透過原始支援文本連結的出處。例如,下面的圖 2 顯示了法學碩士用於生成的聲明「Novorossiya 涉嫌炸毀 ATM 機的計劃」的確切內容。我們看到原始來源文件(英文翻譯後)中的片段,法學碩士用來透過圖中兩個實體之間存在的關係來支持特定銀行是 Novorossiya 目標的斷言。

圖 2:GraphRAG 來源

透過使用 LLM 產生的知識圖,GraphRAG 極大地改進了 RAG 的「檢索」部分,以更高相關性的內容填充上下文窗口,從而獲得更好的答案並捕獲證據來源。

能夠信任和驗證法學碩士產生的結果始終很重要。我們關心結果是否事實正確、連貫且準確地代表來源資料中的內容。 GraphRAG 在產生每個響應時提供出處或來源接地資訊。它表明答案是基於數據集的。隨時可用每個斷言的引用來源還使人類用戶能夠直接根據原始來源材料快速準確地審核法學碩士的輸出。

然而,這並不是使用 GraphRAG 所能實現的全部。

整個資料集推理

Baseline RAG 很難處理需要聚合整個資料集中的資訊才能得出答案的查詢。諸如「資料中排名前 5 位的主題是什麼?」之類的查詢表現很差,因為基線 RAG 依賴資料集中語義相似文字內容的向量搜尋。查詢中沒有任何內容可以將其定向到正確的資訊。

然而,透過 GraphRAG,我們可以回答這些問題,因為 LLM 產生的知識圖的結構告訴我們整個資料集的結構(以及主題)。這允許將私有資料集組織成預先匯總的有意義的語義叢集。法學碩士在回應使用者查詢時使用這些群集來總結這些主題。

我們透過向兩個系統提出以下問題來說明整個資料集的推理能力:

查詢:“數據中排名前 5 名的主題是什麼?”

基線 RAG GraphRAG 1. 提高城市生活品質和城市發展。

  1. 普丁與阿拉伯聯合大公國總統穆罕默德·本·扎耶德·阿勒納哈揚會面。

  2. 俄羅斯各地區投資環境國家評等。

  3. 俄羅斯經濟狀況和國內品牌的成長。

  4. 關於生命意義以及科學在理解生命中的作用的討論。數據呈現了廣泛的主題,但最受歡迎的五個主題可以確定如下:

  5. 衝突與軍事活動:很大一部分數據圍繞著烏克蘭持續的衝突,有大量報告詳細介紹了各種實體的軍事活動、佔領和攻擊。主題包括烏克蘭軍隊、俄羅斯軍隊以及其他各種軍事單位和實體的行動[數據:報告(513、241、151、493、343,+更多)]。

  6. 政治和政府實體:許多報告重點關注政治人物和政府實體,強調他們在當前情況下的角色、關係和行動。這包括克里姆林宮、烏克蘭總統、美國國務院和各個地區政府等實體[數據:報告(98、493、265、129、196,+更多)]。

  7. 基礎設施和環境問題:一些報告強調了潛在的環境影響和基礎設施威脅。其中包括工業活動造成的潛在環境破壞、洪水危機以及軍事衝突造成的基礎設施威脅[數據:報告(308、154、201、348、216,+更多)]。

  8. 社區分析和威脅評估:一些報告提供了特定社區的詳細分析,通常以特定位置或實體為中心。這些分析通常會討論社區內的關鍵實體、它們的關係以及任何相關的威脅。許多報告還包括與他們討論的實體或情況相關的潛在威脅的評估[數據:報告(323、596、518、583、179,+更多)]。

  9. 健康、人道主義關切和緊急情況:一些報告重點關注健康和人道主義問題,例如謝列舍夫斯基-特納症候群社區和敖德薩地區腸道疾病的潛在風險。這些數據也涵蓋緊急情況,包括自然災害、事故和攻擊[數據:報告(204、149、372、154、532,+更多)]。


< 回到列表