KAG:基于OpenSPG引擎和LLM的邏輯推理問答框架
KAG是什么?
KAG(Knowledge Augmented Generation)是螞蟻集團推出的專業領域知識服務框架,基于OpenSPG引擎和LLM,目的在構建垂直領域知識庫的邏輯推理問答解決方案。它通過結合知識圖譜和向量檢索的優勢,有效克服傳統RAG向量相似度計算的歧義性和OpenIE引入的GraphRAG的噪聲問題,支持邏輯推理、多跳事實問答等,優于當前最先進的SOTA。
KAG核心功能
專業領域問答增強:結合知識圖譜和向量檢索,提升大型語言模型在特定領域的問答能力,生成更準確、專業和邏輯性強的答案。
知識表示與檢索優化:采用LLM友好的知識表示框架,實現知識圖譜與原始文本塊的互索引,優化知識的表示、推理和檢索過程,提高檢索結果的準確性和相關性。
混合推理與問題解決:基于邏輯形式引導的混合推理引擎,將自然語言問題轉化為結合語言和符號的問題解決過程,集成檢索、知識圖譜推理、語言推理和數值計算,有效處理復雜問題。
知識對齊與語義增強:基于語義推理進行知識對齊,定義領域知識為各種語義關系,提高知識的標準化和連通性,增強知識表示的準確性和一致性。
KAG技術架構
kg-builder:負責知識表示和構建。實現對LLM友好的知識表示,基于DIKW層次結構升級SPG知識表示能力,兼容無模式和有模式的知識構建,并支持圖結構和文本塊的互索引表示,為后續推理問答階段的高效檢索提供支持。
kg-solver:負責推理和求解。采用邏輯形式引導的混合求解和推理引擎,包含規劃、推理和檢索三種運算符,能夠集成檢索、知識圖譜推理、語言推理和數值計算四種問題求解過程,從而處理復雜的邏輯推理和問答任務。
kag-model:將在后續逐步開源,其功能在當前版本中未詳細說明。
KAG使用教程
產品版(面向普通用戶)
系統要求:推薦系統版本為macOS Monterey 12.6或更新版本、CentOS 7/Ubuntu 20.04或更新版本、Windows 10 LTSC 2021或更新版本。
軟件要求:macOS/Linux用戶需要Docker和Docker Compose,Windows用戶需要WSL 2/Hyper-V、Docker和Docker Compose。
安裝步驟:使用以下命令下載docker-compose.yml并用Docker Compose啟動服務:
curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml docker compose -f docker-compose.yml up -d
使用方法:瀏覽器打開KAG產品默認鏈接http://127.0.0.1:8887,使用默認用戶名openspg和密碼openspg@kag登錄。
工具包版(面向開發者)
安裝步驟:
安裝Python虛擬環境,克隆代碼并安裝KAG。
macOS/Linux開發者:
conda create -n kag-demo python=3.10 && conda activate kag-demo git clone https://github.com/OpenSPG/KAG.git cd KAG && pip install -e .
Windows開發者:
py -m venv kag-demo && kag-demo\Scripts\activate git clone https://github.com/OpenSPG/KAG.git cd KAG && pip install -e .
使用方法:開發者可以基于KAG內置的各種組件,實現內置數據集的效果復現+新場景的落地。
GitHub: https://github.com/OpenSPG/KAG
OpenSPG: https://spg.openkg.cn/