English | 简体中文 | 日本語版ドキュメント
KAG 是一个基于 OpenSPG 引擎和大语言模型的逻辑推理与问答框架,用于构建垂直领域知识库的逻辑推理与问答解决方案。KAG 能有效克服传统 RAG 向量相似度计算的模糊性以及 GraphRAG 因 OpenIE 引入的噪声问题,支持逻辑推理、多跳事实问答等,性能显著优于当前 SOTA 方法。
KAG 的目标是构建专业领域的知识增强 LLM 服务框架,支持逻辑推理、事实问答等。KAG 深度融合了知识图谱的逻辑性与事实性特征,其核心特点包括:
⭐️ 给我们的仓库点个 Star,及时了解激动人心的新功能和改进!获取新版本发布的即时通知!🌟

在私有知识库场景中,非结构化数据、结构化信息与业务专家经验常常并存。KAG 参考 DIKW 层次模型,将 SPG 升级为对 LLM 友好的版本。
对于新闻、事件、日志、书籍等非结构化数据,以及交易、统计、审批等结构化数据,连同业务经验和领域知识规则,KAG 采用版面分析、知识抽取、属性归一化、语义对齐等技术,将原始业务数据和专家规则整合到统一的业务知识图谱中。

这使得在同一知识类型(如实体类型、事件类型)上,既能兼容无模式约束的信息抽取,也能支持有模式约束的专业知识构建,并支持图结构与原始文本块之间的交叉索引表示。
这种互索引表示有助于构建基于图结构的倒排索引,并促进逻辑形式的统一表示与推理。

KAG 提出了一种逻辑形式引导的混合求解与推理引擎。
该引擎包含规划、推理、检索三类算子,将自然语言问题转化为结合语言与符号的问题求解过程。
在此过程中,每一步都可以使用不同的算子,例如精确匹配检索、文本检索、数值计算或语义推理,从而实现检索、知识图谱推理、语言推理和数值计算四种不同问题求解过程的融合。
text
macOS 用户:macOS Monterey 12.6 或更高版本
Linux 用户:CentOS 7 / Ubuntu 20.04 或更高版本
Windows 用户:Windows 10 LTSC 2021 或更高版本
text
macOS / Linux 用户:Docker,Docker Compose
Windows 用户:WSL 2 / Hyper-V,Docker,Docker Compose
使用以下命令下载 docker-compose.yml 文件,并通过 Docker Compose 启动服务。
# 设置 HOME 环境变量(仅 Windows 用户需要执行此命令)
# set HOME=%USERPROFILE%
curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose-west.yml -o docker-compose-west.yml
docker compose -f docker-compose-west.yml up -d
在浏览器中导航至 KAG 产品的默认 URL:http://127.0.0.1:8887
默认用户名:openspg
默认密码:openspg@kag
详细使用介绍请参阅 KAG 使用指南(产品模式)。
参考 3.1 节完成引擎及依赖镜像的安装。
macOS / Linux 开发者
# 创建 conda 环境:conda create -n kag-demo python=3.10 && conda activate kag-demo
# 克隆代码:git clone https://github.com/OpenSPG/KAG.git
# 安装 KAG:cd KAG && pip install -e .
Windows 开发者
# 安装官方 Python 3.10 或更高版本,安装 Git。
# 创建并激活 Python venv:py -m venv kag-demo && kag-demo\Scripts\activate
# 克隆代码:git clone https://github.com/OpenSPG/KAG.git
# 安装 KAG:cd KAG && pip install -e .
请参考 KAG 使用指南(开发者模式) 了解工具包的详细使用介绍。之后,您可以使用内置组件复现内置数据集的性能结果,并将这些组件应用到新的业务场景中。

KAG 框架包含 kg-builder、kg-solver 和 kag-model 三部分。本次发布仅涉及前两部分,kag-model 将在未来逐步开源发布。
kg-builder 实现了对大语言模型(LLM)友好的知识表示。基于 DIKW(数据、信息、知识、智慧)层次结构,它升级了 SPG 的知识表示能力,兼容在同一知识类型(如实体类型、事件类型)上无模式约束的信息抽取和有模式约束的专业知识构建,同时支持图结构与原始文本块之间的互索引表示,为推理问答阶段的高效检索提供支持。
kg-solver 采用逻辑符号引导的混合求解与推理引擎,包含规划、推理、检索三类算子,将自然语言问题转化为结合语言与符号的问题求解过程。在此过程中,每一步都可以使用不同的算子,例如精确匹配检索、文本检索、数值计算或语义推理,从而实现检索、知识图谱推理、语言推理和数值计算四种不同问题求解过程的融合。
GitHub:https://github.com/OpenSPG/KAG
网站:https://openspg.github.io/v2/docs_en
加入我们的 Discord 社区。
关注 OpenSPG 官方公众号,获取关于 OpenSPG 和 KAG 的技术文章和产品更新。

扫描下方二维码加入我们的微信群。
KAG 介绍与应用:https://github.com/orgs/OpenSPG/discussions/52
如果您使用本软件,请按如下方式引用:
KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation
KGFabric: A Scalable Knowledge Graph Warehouse for Enterprise Data Interconnection
@article{liang2024kag,
title={KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation},
author={Liang, Lei and Sun, Mengshu and Gui, Zhengke and Zhu, Zhongshu and Jiang, Zhouyu and Zhong, Ling and Zhao, Peilong and Bo, Zhongpu and Yang, Jin and others},
journal={arXiv preprint arXiv:2409.13731},
year={2024}
}
@article{yikgfabric,
title={KGFabric: A Scalable Knowledge Graph Warehouse for Enterprise Data Interconnection},
author={Yi, Peng and Liang, Lei and Da Zhang, Yong Chen and Zhu, Jinye and Liu, Xiangyu and Tang, Kun and Chen, Jialin and Lin, Hao and Qiu, Leijie and Zhou, Jun}
}
梁磊,孙梦书,桂正珂,朱仲书,姜周宇,钟灵,赵培龙,薄中璞,杨锦,熊怀东,袁林,徐俊,王早阳,张志强,张雯,陈华钧,陈文光,周俊,王昊奋