指南

認識 GraphRAG:知識圖譜何時勝過向量搜尋

Andrii DanylchenkoAndrii Danylchenko創辦人/技術長 閱讀時間:11 分鐘
本頁內容
重點摘要GraphRAG 透過實體與關係檢索脈絡資訊,而非僅依賴文字相似度。 針對單純的文件問答,先從向量 RAG 開始;當答案需要串聯彼此相關的事實時,可測試圖譜檢索;當問題涵蓋整個資料集時,則可測試社群摘要。現有的 Notion 連結可提供圖譜中的邊,無須透過 LLM 擷取,但這些連結本身並不是完整的 GraphRAG 系統。

GraphRAG 是一種檢索增強生成技術,利用由實體及其關係構成的知識圖譜,為大型語言模型(LLM)找出所需的脈絡。當答案取決於相互關聯的事實,或橫跨整個資料集合的模式時,就值得測試 GraphRAG;但如果只是需要找到正確的段落,並不代表就該採用它。向量 RAG 仍是合理的起點,而將兩者結合,往往是更實用、值得探索的設計。

簡單來說:相似度搜尋找出段落;圖譜連結事實

向量檢索問的是:哪些段落與這個問題的語意相近?圖譜檢索則多問了一個問題:哪些內容與這個問題涉及的事物有關聯?

想像一個專案工作空間。「我們要如何部署這項服務?」可能只要一份操作手冊就能解答。「哪次上線依賴處理這起事件的團隊所負責的服務?」則需要循著事件、團隊、服務與上線之間的連結,才能找到答案。

這就是圖譜 RAG 與向量 RAG 在實務上的差別。兩者並不是「聰明的檢索與愚笨的檢索」之分,而是要選擇哪種結構能幫助你蒐集所需的證據。

一個名稱,兩種含義。 GraphRAG 可以泛指以圖譜為基礎的檢索模式。Microsoft GraphRAG 則是一套特定的開源系統,還會建立社群並產生社群摘要。並非所有以圖譜為基礎的檢索流程都包含這些步驟。

一段話看懂 RAG,以及向量搜尋的不足之處

檢索增強生成會先檢索相關資訊,在模型回答前將這些資訊提供給大型語言模型(LLM)作為上下文。傳統的向量 RAG 會將文件切分成區塊,透過嵌入將這些區塊轉換為數值表示,再根據它們與問題的向量相似度進行檢索。接著,負責回答的模型會依據選出的文字作答。Meilisearch 的比較文章說明了兩者的根本差異:一種依據相似度檢索,另一種則透過相互連結的實體檢索。

對於「我們的退款政策對取消有什麼規定?」這類問題,找到相關的政策段落可能就夠了。要測試這個工作流程,不需要將每位客戶、每項政策和每項產品都以節點表示。

當所需的脈絡分散在不同地方時,這些限制就變得更有意思了:

  • 多跳問題:必須沿著多個關聯逐步追查,才能找到答案,而不是只找出一段相符的內容。
  • 整體性問題:「我們的專案回顧中,有哪些主題反覆出現?」問的是整組專案回顧資料,而不只是與問題最相符的內容。
  • 分散的事實:答案的不同部分散落在不同頁面中,其中有些部分可能看起來與原始問題並不相似。

在這個事件範例中,某個上線頁面可能完全沒有提到該事件。檢索與問題表述相似的段落,和沿著已記錄的相依關係找到該上線頁面,是兩種不同的操作。

這並不代表向量檢索無法提供答案,而是說,你應該測試它是否能找出所有必要的資訊片段,而不是只憑第一筆結果看起來是否相關來評斷它的成效。

逐步解析 Microsoft GraphRAG 的運作方式

Microsoft GraphRAG 是一套以圖譜為基礎的開源 RAG 系統。其擷取、社群與摘要流程,可作為理解這種方法的實用參考。將工作分成兩個階段:先準備資料集,再根據資料集回答問題。

建立索引:將文字轉為彼此串聯的脈絡

  1. 擷取實體。 大型語言模型(LLM)會辨識來源資料中討論的事物。以一組假想的工程資料為例,這些事物可能包含服務、團隊、專案和事件。
  2. 擷取關係。 LLM 會辨識這些實體之間的關係。例如,文件可能提到某個服務由特定團隊負責。
  3. 建立圖譜。 實體轉為節點,關係轉為連結,為檢索提供能呈現資料間連結的結構。
  4. 將實體分成群集。 系統會將圖譜整理成由相互連結的實體組成的群集,而不是將每個實體視為孤立的個體。
  5. 撰寫群集摘要。 產生的摘要會概述這些群集,供後續檢索與回答使用。

關鍵的改變在於,系統準備的不只是可供搜尋的段落,也會建立對應的表徵,呈現這些段落討論的事物、這些事物彼此如何連結,以及相互連結的群組包含哪些內容。

查詢:局部問題與全域問題

局部搜尋以實體為中心。試想:「哪些項目與帳務服務有關聯?」相關脈絡會以特定實體及其關係為中心來組織。

全域搜尋涵蓋整個資料集。試想:「這些專案中有哪些反覆出現的協調問題?」社群摘要提供素材,讓你能進行更廣泛的綜合分析,而不只是依賴與問題相似的段落。

Microsoft 的 GraphRAG 文件將索引建立、查詢方法與提示詞調校分開說明。初步評估時,可以先做一個簡單且實用的區分:你是在探究某個特定事物,還是想綜觀整個資料集合?

別把「局部」誤解為「在我的筆電上執行」。這裡指的是搜尋範圍。也別以為每次圖譜查詢都需要社群摘要:沿著頁面間明確的關聯進行檢索,是範圍較小的圖譜檢索流程。

圖譜 RAG 與向量 RAG:實務比較

下方的圖譜欄位包含 Microsoft 的擷取與摘要方法。以現有連結建立的工作流程可以省去擷取這些連結的步驟,因此設定方式並不相同。

比較面向向量 RAG圖譜式 RAG
資料模型以嵌入向量表示文字區塊。透過關係連結的實體或頁面;Microsoft GraphRAG 也會建立社群摘要。
索引建置作業與成本準備文字區塊並產生嵌入向量。準備圖譜結構;若處理流程使用 LLM 擷取資料及產生摘要,需為這些作業編列預算。
優先測試的問題可從一段或少數幾段相關文字中找到答案的問題。需要串聯多項事實的問題;有社群摘要時,可測試需要統整整個資料集的問題。
可解釋性檢視檢索到的文字段落及其來源。檢視檢索到的來源與關係路徑;即使路徑可見,仍需有證據支持。
資料新鮮度與維護規劃如何將文字變更反映在文字區塊與嵌入向量中。也需規劃變更如何影響關係及任何已產生的摘要。
常見工具或元件嵌入模型、向量索引、來源儲存庫,以及用於回答問題的 LLM。圖譜表示方式與檢索邏輯;Microsoft GraphRAG 是可供評估的開源實作。
需留意的失敗情況結果看似相關,卻遺漏了必要的事實。關係缺漏或具有誤導性,或摘要遺漏了必要的細節。

我一開始採用的原則:如果一段文字就能涵蓋所需證據,就先測試段落檢索。如果證據形成一條鏈,就測試檢索整條鏈。如果問題涉及整個集合,就測試集合層級的方法。

何時分別使用,何時搭配使用

需要段落式回答時,先從向量 RAG 著手

當預期答案能在明確可辨識的文字中找到時,政策、指示與說明都是適合作為起點的案例。在為同一批內容引入另一種呈現方式之前,先建立基準。

先釐清失敗是出在檢索,還是作答。如果當時已有正確的佐證資料,加入圖譜可能無法解決真正的問題。

測試圖譜檢索,取得以關係呈現的答案

請使用確實需要依據關聯才能回答的問題:哪些專案依賴某項服務、哪些決策連結到某項需求,或哪些研究筆記支持某個論點。這些是建議的評估案例,並非承諾能提高準確度。

請確認你的資料是否包含這些關係。若來源結構和擷取流程都未提供某條有用的連線,圖譜就無法沿著該連線探索。

全面替換前,先試試混合式工作流程

一種可供測試的實用設計,是將語意入口與圖譜擴展結合:

  1. 搜尋與問題相關的文字或節點。
  2. 從這些起點沿著選定的關聯探索。
  3. 擷取相連項目的來源內容。
  4. 將佐證資料及其來源參照提供給負責回答的模型。

以事件案例為例,搜尋可以找到事件報告。接著,可透過圖譜遍歷,沿著連結找到受影響的服務與依賴該服務的上線作業。閱讀這些頁面,就能取得回答所需的實際證據。

測試前,先訂好範圍:哪些關係類型有用、要沿著關係探索到多遠,以及要傳回多少內容?「納入所有相連的內容」不是檢索策略,只是在迴避取捨。

GraphRAG 的實際成本

若未確定語料庫、模型選擇與設定,就無法合理訂出通用價格或固定的成本倍數。編列預算時,真正有用的問題是:這套處理流程增加了哪些工作?

若採用 Microsoft 的擷取與摘要方法,請將使用模型擷取實體與關係並產生社群摘要的工作納入考量。這些都是基本的分塊與嵌入流程之外的額外準備步驟。不要把「開源」當成執行這些工作的預算。

試行時,請將成本分開記錄:

  • 初期準備:依你的設計,在有使用到的環節進行嵌入、擷取與摘要生成。
  • 提問:檢索作業、提供給大型語言模型的上下文,以及答案生成。
  • 更新:讓你維護的資料表示形式反映來源內容修改所需的作業。
  • 維運:儲存、除錯,以及檢查錯誤或遺漏的關係。

資料更新也需要單獨測試。修改來源中的一項陳述,重新執行你選定的更新流程,再檢查產生的回答。檢查原始內容、圖譜中的呈現,以及任何依據舊陳述產生的摘要。不要因為初次建立索引成功,就認定整批資料會持續保持最新。

如果你的連線已經以明確連結的形式存在,就不必透過 LLM 擷取這些連線。但這並不代表可以省去內容檢索、答案生成或維護。省去的只是其中一個步驟,而不是以圖譜為基礎的 RAG 所涉及的所有成本。

實測一部分資料,別只看承諾。 為具代表性的一部分資料建立索引,記錄所做的工作,透過每種方法提出相同的問題,並測試一次更新。只有當額外的結構能解決你可具體驗證的失敗情況時,才擴大範圍。

你的筆記本來就有圖譜結構

相較於存放彼此未連結文件的資料夾,內容相互連結的工作空間提供了不同的起點。Notion 中的資料庫關聯、頁面提及與反向連結,以及上層頁面與子頁面之間的關係,都已構成明確的連線。Obsidian 儲存庫中則有維基連結。這些連結可以成為圖譜中的連線,不必請 LLM 找出它們。

IVGraph 中 Notion 工作空間的密集知識圖譜
已連結的 Notion 工作空間本身就提供了頁面層級的結構。接下來要問的是,哪些連結有助於檢索。

假設你的「專案」資料庫與「服務」資料庫建立了關聯,而事件筆記中也提及服務頁面。你就已經有一條路徑,可以從事件筆記連到服務,再連到相關專案。我們的 Notion 資料庫關聯指南說明了明確建立的連結;涵蓋範圍更廣的 Notion 知識圖譜指南則將這些連結放在整體脈絡中說明。

有一點必須坦白說明:頁面圖譜並不必然是實體知識圖譜。一個頁面可能討論多個實體。提及某個頁面,表示一個頁面參照了另一個頁面,不一定表示一項服務依賴另一項服務。父子連結表達的是階層關係,而非所有權或因果關係。

檢索時,請保留這項區別。循著提及內容尋找可能有用的佐證,接著閱讀該頁面,再對這項關係的意義下定論。

這自然與 LLM 維基 相呼應:分別思考來源頁面、頁面之間的連結,以及生成的解讀。將這些層次明確區分,就更容易檢視答案,而不是把每個生成的關聯都當成已確立的事實。

讓代理存取結構與內容

IVGraph 根據 Notion 頁面、反向連結、提及及資料庫關聯建立圖譜。其唯讀 V1 LLM API 讓代理程式能夠搜尋、取得節點詳細資訊與頁面內容,以及走訪圖譜。兩者結合,就足以在你已維護的工作空間基礎上,建立能運用圖譜資訊的檢索工作流程。

使用 IVGraph 搜尋 Notion 知識圖譜
語意搜尋結果依類型分組,顯示在圖譜旁。搜尋提供可作為探索起點的結果;相連的頁面則提供更多脈絡,供你進一步查看。

可供測試的代理工作流程很簡單:搜尋專案、查看其節點、循著相關連結、擷取相連頁面的內容,再根據這些證據回答。若想了解更全面的個人工作流程,請參閱使用 LLM、Notion 和 Claude Code 打造第二大腦。

別一開始就擷取你已經明確維護的關聯。先測試將這些關聯呈現出來,是否能解決缺乏脈絡的問題。

如何從小處開始

先從問題著手,而不是遷移資料庫。使用這份檢查清單,確保實驗始終針對實際查找資料失敗的情況進行:

  1. 選定一組範圍明確的資料。 挑選一個專案領域,確保其中的內容與關係都能由你親自檢視。
  2. 寫下實際會問的問題。 如果與你的工作相關,請納入直接查找資訊的問題、需要串聯相關事實的問題,以及涵蓋整組資料的問題。
  3. 確認所需的佐證。 記下正確答案必須使用哪些段落與關係。
  4. 執行向量檢索,建立比較基準。 保存檢索出的上下文及生成的答案。在調整架構之前,先找出缺少哪些佐證。
  5. 盤點現有連線。 將有用的關係與偶然提及的內容及階層連結區分開來。
  6. 只補上缺少的能力。 針對需要串聯相關事實的問題,測試走訪功能;或針對 Microsoft 擷取與摘要處理流程原本設計要解決的問題,測試該流程。
  7. 比較並更新。 檢視佐證的涵蓋程度、缺乏佐證的說法、成本及回應時間。接著修改一項來源內容,檢查結果是否反映最新資訊。

如果圖譜層能在你可負擔的成本下,找出基準方法遺漏的必要脈絡,就保留它。如果兩種方法的回答品質一樣好,就選擇較容易維護的那一種。

常見問題

簡單來說,什麼是 GraphRAG?

GraphRAG 是一種檢索增強生成技術,利用由實體及其關係組成的知識圖譜,為大型語言模型(LLM)找出脈絡資訊。它不只尋找相似的段落,還能透過事物之間的連結檢索資訊。

GraphRAG 比向量 RAG 更好嗎?

並非所有問題都如此。要找出相關段落,向量 RAG 是合理的起點。若回答需要串聯彼此相關的事實,就值得測試圖譜檢索;而 Microsoft 的社群摘要方法也支援針對整個資料集的提問。請用你自己的問題和資料來源比較這些方法。

Microsoft GraphRAG 和所有以圖譜為基礎的 RAG 都一樣嗎?

不一樣。Microsoft GraphRAG 是一套開源實作,會擷取實體與關係,將它們分成社群,產生摘要,並提供局部與全域搜尋。以圖譜為基礎的檢索也可以利用既有關係,不必經過完整的擷取與摘要產生流程。

GraphRAG 的成本是多少?

若未確定語料庫、模型選擇與處理流程設定,就無法提供有參考價值的單一價格。編列預算時,應納入擷取與摘要生成(如有使用)、檢索與回答生成、儲存及更新的成本。請以具代表性的小樣本實測,而非假設成本是向量 RAG 的固定倍數。

可以用 Notion 連結做 GraphRAG 嗎?

可以。資料庫關聯、提及與反向連結,以及父子頁面,都能提供明確的圖譜邊,無須透過 LLM 擷取。你仍需要一套檢索流程,選出相關頁面、讀取其內容,並將佐證提供給負責回答的模型。單靠頁面連結,並無法說明連結所代表的關係。

你的 Notion 本來就是一張圖譜

以互動式 3D 知識圖譜呈現每個頁面、提及與關聯,這正是你的代理程式能運用的結構。500 個節點以內免費。

使用 Notion 登入 ↵
Andrii Danylchenko

關於作者

Andrii Danylchenko 是 IVGraph 的創辦人暨技術長。他是一位富有遠見的技術專家,熱衷於改變人們與知識互動的方式,負責帶領 IVGraph 的技術開發,設計 3D 圖譜視覺化引擎與 Notion 同步功能的架構。

繼續閱讀

更多專欄文章

指南

Notion vs Obsidian:哪個更適合你的思考方式?

坦誠比較 Notion 與 Obsidian 的本機檔案、資料庫、連結、協作、AI 和價格,也探討圖譜檢視是否足以成為改用另一款工具的好理由。

指南

如何在 Notion 製作圖:圖表與圖譜兩種都教你

在 Notion 裡,「圖」有兩種意思:資料圖表(原生功能,使用 /chart,共五種類型,可免費建立一張),以及呈現連結關係的圖譜(完全不是原生功能)。兩種做法都有逐步教學,還會說明沒人提過的限制。

指南

Notion 心智圖:五種真正可行的製作方式

Notion 沒有原生心智圖功能,但有五種真正可行的做法:Mermaid 程式碼區塊、嵌入內容、切換清單範本、自我關聯資料庫,以及依據工作空間中的實際連結產生的圖譜。文內提供坦誠的比較。

指南

Claude Code + Notion:五種工作流程,打造能自行維護的第二大腦

提供可直接複製貼上的提示詞,處理知識管理中枯燥的那一半工作:匯入來源資料、建立頁面間的交叉連結、每週回顧、缺口分析,並搭配確保 AI 代理如實作業的防護機制。

指南

看懂 Notion 反向連結:如何建立、查看並真正運用它們

介紹建立反向連結的三種方式、「N 個反向連結」清單的位置、部分連結隱藏的原因、反向連結做不到的事,以及如何用一張圖看清完整的連結結構。

指南

圖解 Notion 關聯與彙整

逐步教你連接資料庫,介紹雙向關聯、彙整的實作方法、自我關聯與單跳規則,並說明為什麼關聯其實是你從未看過的圖譜中的邊。

指南

Notion MCP:將 AI 連接到工作空間的完整指南

比較託管與自行架設的伺服器,介紹如何用一道指令設定 Claude Code、Cursor 和 ChatGPT、AI 代理在工作空間裡實際能做什麼、權限,以及單靠 MCP 無法提供的那一樣東西。