AI 觀點

GraphRAG 與 RAPTOR 是什麼?當一份文件裝不下答案

· 3 分鐘

普通檢索擅長「答案在某一段裡」的題目,但跨文件的相容性、整批文件的綜覽題,它就失手了。白話解釋 GraphRAG 的關係網與 RAPTOR 的摘要金字塔——各自解什麼題、怎麼驗證不是名詞行銷。

先說問題:普通檢索答不了哪種題?

一般的 RAG 檢索是「切片段、找相似」:文件被切成一段一段,問題進來,找出最相關的幾段給模型作答——前提是答案真的躺在某一段裡。很多 B2B 的問題不符合這個前提:「A 料跟 B 料相容嗎?」答案要同時比對兩份規格書;「你們有哪些產品過了 UL 認證?」線索散在幾十份文件;「這個系列的共同限制是什麼?」需要的是綜覽,不是片段。這類題目丟給只有切片檢索的系統,結果通常是答一半、或者自信地答錯——不是模型不行,是它拿到的原料天生湊不齊。GraphRAG 與 RAPTOR,就是為了補這個洞而生的兩種架構。

GraphRAG:把文件讀成一張關係網

GraphRAG 的做法,是在檢索之前先把文件「讀熟」:系統從文件裡抽出東西(料號、產品系列、規格參數、認證項目)與它們之間的關係(X-200 是 X-100 的替代料、X-100 屬於 X 系列、X 系列需要搭配 Y 驅動),存成一張知識圖譜。問題進來時,不只找相似段落,還沿著關係網走:客戶問「X-100 停產了,能換什麼、差在哪?」,系統從 X-100 這個節點出發,走到替代料、再走到兩者的規格差異——分散在三份文件裡的線索,靠關係接成一條答案。誠實的另一面:建圖有前置成本,圖的品質取決於抽取的品質,文件寫得含糊,圖也會含糊——它放大好文件的價值,救不了爛文件。

RAPTOR:把文件疊成一座摘要金字塔

RAPTOR 解的是另一種題:高度。它把文件的原文片段當底層,把主題相近的片段聚在一起寫成摘要,摘要再聚類、再摘要,一層一層往上疊成一棵樹——底層是細節,愈往上愈概括。檢索時可以從任何一層取材:「第 7 章那顆料的工作溫度?」從底層拿原文;「這本手冊大致在講什麼?」從高層拿摘要;「這批產品的共同注意事項?」中層正好。同一批文件,一座塔,粗細兩用。誠實的另一面:高層的摘要是模型寫的,不是人審過的原文——所以綜覽題的答案應該要能往下回溯到底層出處,答得出「依據在哪幾段」,這座塔才可信。

四種檢索,各自擅長什麼題?

把前面講過的排在一起,就看得出為什麼成熟系統是混著用:

檢索方式 擅長的題 B2B 例句
關鍵字(BM25) 一個字都不能錯的精確比對 「X-7320 的 datasheet」
向量語意 換句話說、意思相近 「耐不耐熱?」→ 文件寫「工作溫度範圍」
知識圖譜(GraphRAG) 跨文件、靠關係串起來的題 「X-100 的替代料有哪些?差在哪?」
階層式索引(RAPTOR) 需要高度的綜覽題 「這系列產品的共同限制?」

單獨哪一種都有失手的題型;合併檢索、重排後再作答,是讓不同形狀的問題各自走到對的路上。

怎麼驗證不是名詞行銷?

GraphRAG 跟 RAPTOR 寫在官網上很容易,做進系統裡才是另一回事——驗證方法不是聽簡報,是拿三種題目現場測。第一題,單點題:「某顆料的某個參數」,測基本檢索與出處。第二題,跨文件題:拿你自己的兩份規格書,問兩顆料的差異與相容性——切片檢索在這裡會露餡。第三題,綜覽題:「這批文件裡的產品,共同的認證狀態?」——看它是真的綜覽,還是抓一段就答。三題都要求指出依據;答案可以裝,出處裝不了。

Kinsunn AI 的用法

Kinsunn AI 的檢索就是上表的組合:BM25 關鍵字、向量語意、GraphRAG 知識圖譜與 RAPTOR 階層式索引同時運轉,結果合併重排後交給模型,答案附來源出處,依據不足時寧可不答。這套組合怎麼落在規格書與技術文件的場景,見規格書 AI 問答;RAG 的基本原理與極限,見RAG 是什麼?

參考資料

← 回到部落格