KAG、RAG、GraphRAG大不同!螞蟻開源框架KAG為何在專業(yè)領(lǐng)域完勝?
在人工智能快速發(fā)展的今天,大語言模型雖然在通用領(lǐng)域表現(xiàn)出色,但在專業(yè)領(lǐng)域的知識服務(wù)中仍然面臨諸多挑戰(zhàn)。傳統(tǒng)的檢索增強生成(RAG)方法在處理需要復(fù)雜邏輯推理的專業(yè)領(lǐng)域任務(wù)時,往往力不從心。
為了解決這一問題,螞蟻集團推出了知識增強生成(KAG:Knowledge Augmented Generation)框架,并于近期正式開源。本文將帶您全面了解這一開創(chuàng)性的項目。
一、為什么需要KAG?
傳統(tǒng)RAG方法主要依賴基于相似性和共現(xiàn)的檢索與生成方式,這在處理法律、醫(yī)學(xué)等需要嚴謹邏輯推理的專業(yè)領(lǐng)域時存在明顯不足。 這些方法通常缺乏嚴謹?shù)乃伎寄芰屯评砟芰?/span>,容易產(chǎn)生事實性、邏輯性和精準(zhǔn)性錯誤。
更重要的是,傳統(tǒng)方法無法使用預(yù)定義的領(lǐng)域知識結(jié)構(gòu)來約束模型的行為,即使是通用RAG也難以完全解決LLM幻覺問題,尤其是那些隱蔽的誤導(dǎo)性信息。 這正是KAG框架要解決的核心問題。
二、KAG是什么?
KAG是一個專業(yè)領(lǐng)域知識服務(wù)框架,旨在充分利用知識圖譜和向量檢索的優(yōu)勢,增強大模型在專業(yè)領(lǐng)域知識服務(wù)中的準(zhǔn)確性和邏輯推理能力。 它基于OpenSPG KAG框架,提供知識增強生成的專業(yè)領(lǐng)域知識服務(wù)框架。
KAG的核心理念是:將知識圖譜的結(jié)構(gòu)化語義能力與大語言模型的自然語言處理優(yōu)勢深度融合,實現(xiàn)從“模糊匹配”到“精準(zhǔn)推理”的躍遷。
三、KAG的核心功能
KAG框架引入了三個核心模塊,構(gòu)成了其強大功能的基礎(chǔ):
1. 語義圖索引(Semantic Graph Indexing)
不同于傳統(tǒng)RAG僅提取事實三元組,KAG通過多輪語義增強,構(gòu)建一個富含邏輯連接的知識網(wǎng)絡(luò)。 它包括四個關(guān)鍵步驟:
- 本體標(biāo)注(Ontology Labeling):為每個實體打上類型標(biāo)簽
- 上位詞生成(Hyper-concept Generation):建立概念層級
- 同義詞連接(Synonym Connection):打通表述差異
- 常識關(guān)系注入(Concept Connection):引入通用常識
這個過程采用稀疏符號索引與稠密向量索引相結(jié)合的混合索引策略,兼顧了精確性與召回率。
2. 語義解析與推理(Semantic Parsing & Reasoning)
面對復(fù)雜問題,KAG不會直接丟給LLM去“猜”,而是先將其拆解為一系列具有明確語義結(jié)構(gòu)的邏輯形式(Logical Form, LF)。 例如,對于問題“格林伍德實驗學(xué)校所在城市何時成為《可憐的傻瓜》編劇出生州的首府?”,KAG會將其分解為四步推理鏈:
步驟 | 子問題 | 邏輯形式(LF) |
1 | 誰是《可憐的傻瓜》的編??? | get_spo(s=電影[《可憐的傻瓜》], p=編劇, o=人物) |
2 | 該編劇出生于哪個州? | get_spo(s=人物, p=出生地, o=州) |
3 | 格林伍德實驗學(xué)校位于哪座城市? | get_spo(s=學(xué)校[格林伍德實驗學(xué)校], p=位于, o=城市) |
4 | 該城市何時成為上述州的首府? | get_spo(s=城市, p=成為首府時間, o=州) |
這種形式更易于與知識圖譜對接,支持多跳、可追溯、可解釋的推理過程。
3. 語義檢索(Semantic Retrieval)
KAG采用兩種語義驅(qū)動的檢索方式:
- 三元組檢索(Triple Retrieval):利用語義圖進行候選節(jié)點召回,生成候選子圖,匹配符合條件的事實三元組
- 文檔檢索(Document Retrieval):基于個性化PageRank(PPR)算法,在語義圖上計算文檔相關(guān)性得分
這種方式能有效捕捉“語義近鄰”而非“字面匹配”的文檔,顯著提升長距離推理的召回能力。
四、KAG的技術(shù)架構(gòu)
KAG框架由三個主要部分組成:
- KAG-Builder:用于離線索引,主要包括知識表示增強和互索引結(jié)構(gòu)
- KAG-Solver:涉及邏輯符號混合推理引擎、知識對齊機制
- KAG-Model:嘗試構(gòu)建一個端到端的KAG模型
這種架構(gòu)設(shè)計使得KAG能夠支持邏輯推理、多跳事實問答等復(fù)雜任務(wù),并且明顯優(yōu)于目前的SOTA方法。
五、KAG的性能表現(xiàn)
KAG在多個多跳問答數(shù)據(jù)集上的實驗結(jié)果顯示,其性能顯著優(yōu)于現(xiàn)有方法(如HippoRAG):
在單步推理任務(wù)中,KAG平均F1分數(shù)比HippoRAG提高了12.8%。 即便在多步CoT增強下,KAG依然保持明顯優(yōu)勢。
在螞蟻集團的實際應(yīng)用場景中,KAG也表現(xiàn)出色:
在e-Government場景中,KAG負責(zé)基于給定的知識庫回答用戶的行政流程問題。在404個用戶問題中,KAG的精度達到了91.6%,召回率達到71.8%,遠超NaiveRAG(精度66.5%,召回率52.6%)。
六、如何開始使用KAG?
KAG已經(jīng)正式開源,開發(fā)者可以通過GitHub獲取源代碼。
項目地址為: https://github.com/OpenSPG/KAG
image.png
環(huán)境部署
KAG支持通過Docker Compose進行安裝,這大大簡化了過程:
# 獲取docker-compose.yaml文件
curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml
# 啟動服務(wù)
docker compose -f docker-compose.yml up -d
img
瀏覽器輸入 http://127.0.0.1:8887, 可訪問openspg-kag 產(chǎn)品界面。
默認登錄信息
用戶名:openspg
默認密碼:openspg@kag
img
主界面:
img
打開模型配置:
img

模型選擇
對于初學(xué)者,可以選擇一些常用的模型:
- 對于語言模型,可以選擇qwen3-8b,這是一個緊湊高效的模型,適用于資源有限的環(huán)境
- 對于嵌入模型,可以選擇bge-m3,因其高精度和與KAG的兼容性而被推薦
可以利用ollama進行部署,簡單高效,可以看我之前的文章,如何部署ollama;
七、KAG的應(yīng)用前景
KAG已成功應(yīng)用于螞蟻集團的實際業(yè)務(wù)場景中,包括:
- 電子政務(wù)(e-Government):回答用戶的行政流程問題
- 電子健康(E-Health):提供醫(yī)療健康領(lǐng)域的專業(yè)問答
- 法律咨詢(Legal Consultation):提供法律領(lǐng)域的專業(yè)服務(wù)
- 風(fēng)險管理(Risk Management):用于風(fēng)險評估和管理
隨著KAG的開源,更多開發(fā)者和企業(yè)能夠利用這一強大框架,構(gòu)建更加精準(zhǔn)和可靠的專業(yè)領(lǐng)域知識服務(wù)系統(tǒng)。
八、總結(jié)
KAG是一個融合LLMs和知識圖譜技術(shù)的新框架,通過在索引和檢索階段引入語義理解和推理,有效提升了復(fù)雜問答任務(wù)的表現(xiàn)。 實驗證明,KAG不僅在學(xué)術(shù)數(shù)據(jù)集上表現(xiàn)出色,還在實際應(yīng)用中展現(xiàn)了巨大潛力。
它的開源將為開發(fā)者社區(qū)帶來三大價值:
- 技術(shù)透明化:開發(fā)者可直接研究知識圖譜的分布式計算模型、圖分析算法等底層實現(xiàn)細節(jié)
- 生態(tài)擴展性:社區(qū)可基于標(biāo)準(zhǔn)接口開發(fā)適配不同業(yè)務(wù)場景的插件模塊
- 學(xué)習(xí)實踐價值:為知識圖譜學(xué)習(xí)者提供工業(yè)級實現(xiàn)參考
隨著知識增強生成技術(shù)的不斷發(fā)展,KAG有望成為專業(yè)領(lǐng)域知識服務(wù)的重要基礎(chǔ)設(shè)施,推動行業(yè)知識智能化應(yīng)用的快速發(fā)展。
參考文獻
- KAG論文地址:https://arxiv.org/pdf/2409.13731
- KAG項目地址:https://github.com/OpenSPG/KAG
- OpenSPG項目:https://github.com/OpenSPG/openspg
























