KAG将知识图谱与检索系统结合,帮助开发者构建更智能的AI应用。支持从文档自动构建知识图谱,提升RAG系统的检索准确度。
English | 简体中文 | 日本語版ドキュメント
KAG 是一个基于 OpenSPG 引擎和大语言模型的逻辑推理与问答框架,用于为垂直领域知识库构建逻辑推理和问答解决方案。KAG 能够有效克服传统 RAG 向量相似度计算存在的语义歧义,以及 OpenIE 给 GraphRAG 带来的噪声问题。KAG 支持逻辑推理、多跳事实问答等能力,效果显著优于当前的 SOTA 方法。
KAG 的目标是在专业领域构建知识增强型 LLM 服务框架,支持逻辑推理、事实问答等能力。KAG 充分融合了知识图谱(KG)的逻辑特性与事实特性,其核心功能包括:
⭐️ 为我们的仓库点亮 Star,及时了解令人期待的新功能和改进!第一时间获取新版本通知!🌟
在私有知识库场景中,非结构化数据、结构化信息与业务专家经验往往同时存在。KAG 参考 DIKW 层次体系,将 SPG 升级为对 LLM 更友好的版本。
对于新闻、事件、日志、书籍等非结构化数据,交易、统计、审批等结构化数据,以及业务经验和领域知识规则,KAG 采用版面分析、知识抽取、属性归一化、语义对齐等技术,将原始业务数据与专家规则整合进统一的业务知识图谱。
由此,同一种知识类型(例如实体类型、事件类型)既可以使用不受 Schema 约束的信息抽取,也可以进行受 Schema 约束的专业知识构建,同时还支持图结构与原始文本块之间的交叉索引表示。
这种相互索引的表示方式有助于构建基于图结构的倒排索引,并推动逻辑形式的统一表示与推理。
KAG 提出了一套由逻辑形式引导的混合求解与推理引擎。
该引擎包含三类算子:规划、推理和检索,用于将自然语言问题转换为结合语言与符号的问题求解过程。
在这个过程中,每一步都可以使用不同的算子,例如精确匹配检索、文本检索、数值计算或语义推理,从而实现四类问题求解过程的融合:Retrieval、Knowledge Graph 推理、语言推理和数值计算。
扩展了两种模式:私有知识库(包括结构化与非结构化数据)和公共网络知识库,支持通过 MCP 协议接入 LBS、WebSearch 及其他公共数据源。增强了私有知识库的索引能力,内置 Outline、Summary、KnowledgeUnit、AtomicQuery、Chunk 和 Table 等基础索引类型。实现知识库与应用解耦:Knowledge Bases 负责管理私有数据(结构化与非结构化)和公共数据;Applications 可以关联多个知识库,并根据知识库构建过程中建立的索引类型,自动适配相应的 retriever 进行数据召回。全面拥抱 MCP,使 Agent 工作流能够通过 MCP 协议使用由 KAG 驱动的推理问答能力。完成对 KAG-Thinker 模型的适配。通过优化横向问题分解、纵向方案推导、知识边界判断以及抗噪检索结果,在多轮迭代思考框架的引导下,提升了框架推理范式的稳定性与逻辑严谨性。
首先,我们重构了 KAG-Solver 框架。新增对静态和迭代两种任务规划模式的支持,同时为推理阶段实现了更严谨的知识分层机制。其次,我们优化了产品体验:在推理阶段引入「简单模式」和「深度推理」双模式,并支持流式推理输出、图索引自动渲染,以及将生成内容链接至原始参考资料。在 KAG 仓库顶层新增 open_benchmark 目录,在相同基础条件下比较多种 RAG 方法,并取得了当前最佳(SOTA)结果。引入「轻量构建」模式,将知识构建的 token 成本降低了 89%。
open_benchmark 目录,在相同基础条件下比较多种 RAG 方法,并取得了当前最佳(SOTA)结果。支持领域知识注入、领域 Schema 自定义、QFS 任务、可视化查询分析,并为抽取启用 Schema 约束模式等。
支持上传 Word 文档、设置模型调用并发数,并优化用户体验等。
KAG 首次发布。
我们将继续专注于增强大模型利用外部知识库的能力。我们的目标是在大模型与符号知识之间实现双向增强与无缝融合,提高专业场景中推理与问答的事实性、严谨性和一致性。我们还会持续发布更新,拓展能力边界,推动 KAG 在垂直领域落地。
推荐的系统版本:macOS 用户:macOS Monterey 12.6 或更高版本;Linux 用户:CentOS 7 / Ubuntu 20.04 或更高版本;Windows 用户:Windows 10 LTSC 2021 或更高版本。
推荐的系统版本:
macOS User:macOS Monterey 12.6 or later
Linux User:CentOS 7 / Ubuntu 20.04 or later
Windows User:Windows 10 LTSC 2021 or later
软件要求:macOS / Linux 用户:Docker、Docker Compose;Windows 用户:WSL 2 / Hyper-V、Docker、Docker Compose。
软件要求:
macOS / Linux User:Docker,Docker Compose
Windows User:WSL 2 / Hyper-V,Docker,Docker Compose
使用以下命令下载 docker-compose.yml 文件,并通过 Docker Compose 启动服务。
# set the HOME environment variable (only Windows users need to execute this command)
# 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 产品的默认地址:http://127.0.0.1:8887
Default Username: openspg
Default password: openspg@kag
详细介绍请参阅 KAG 使用指南(产品模式)。
请参考 3.1 节,完成引擎及依赖镜像的安装。
macOS / Linux 开发者:
# Create conda env: conda create -n kag-demo python=3.10 && conda activate kag-demo
# Clone code: git clone https://github.com/OpenSPG/KAG.git
# Install KAG: cd KAG && pip install -e .
Windows 开发者:
# Install the official Python 3.10 or later, install Git.
# Create and activate Python venv: py -m venv kag-demo && kag-demo\Scripts\activate
# Clone code: git clone https://github.com/OpenSPG/KAG.git
# Install KAG: cd KAG && pip install -e .
有关 Toolkit 的详细介绍,请参阅 KAG 使用指南(开发者模式)。随后,你可以使用内置组件复现内置数据集的性能结果,并将这些组件应用于新的业务场景。
KAG 框架包括三个部分:kg-builder、kg-solver 和 kag-model。本次发布仅涉及前两个部分,kag-model 将在未来逐步开源。
kg-builder 实现了一种对大语言模型(LLM)友好的知识表示方式。它基于 DIKW(数据、信息、知识和智慧)层次结构,升级了 SPG 的知识表示能力,使同一种知识类型(例如实体类型和事件类型)既兼容无 Schema 约束的信息抽取,也兼容有 Schema 约束的专业知识构建。它还支持图结构与原始文本块之间的相互索引表示,为推理问答阶段的高效检索提供支持。
kg-solver 采用逻辑符号引导的混合求解与推理引擎。该引擎包含规划、推理和检索三类算子,用于将自然语言问题转换为结合语言与符号的问题求解过程。在这个过程中,每一步都可以使用不同的算子,例如精确匹配检索、文本检索、数值计算或语义推理,从而实现四类问题求解过程的融合:Retrieval、Knowledge Graph 推理、语言推理和数值计算。
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:通过知识增强生成提升 LLM 在专业领域中的能力
KAG:通过知识增强生成提升 LLM 在专业领域中的能力
KGFabric:面向企业数据互联的可扩展知识图谱仓库
KGFabric:面向企业数据互联的可扩展知识图谱仓库
@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}
}
Lei Liang、Mengshu Sun、Zhengke Gui、Zhongshu Zhu、Zhouyu Jiang、Ling Zhong、Peilong Zhao、Zhongpu Bo、Jin Yang、Huaidong Xiong、Lin Yuan、Jun Xu、Zaoyang Wang、Zhiqiang Zhang、Wen Zhang、Huajun Chen、Wenguang Chen、Jun Zhou、Haofen Wang