LLMs之RAG:KAG(知识增强生成)的简介、安装和使用方法、案例应用之详细攻略
目录
(1)、KAG 的核心功能之LLM 友好的语义化知识管理:知识表示+知识融合+互索引机制+噪声降低
(2)、KAG 的核心功能之逻辑符号引导的混合推理引擎:混合推理+多策略集成
KAG的简介
2024年10月25日,KAG (Knowledge Augmented Generation) 是一个基于OpenSPG引擎和大型语言模型(LLM)的逻辑形式引导推理和检索框架。它用于构建专业领域知识库的逻辑推理和事实问答解决方案。KAG能够有效克服传统RAG向量相似度计算模型的不足以及OpenIE引入的GraphRAG的噪声问题。它支持逻辑推理和多跳事实问答等功能,性能显著优于当前最先进的方法(SOTA)。KAG的目标是在专业领域构建一个知识增强的LLM服务框架,支持逻辑推理、事实问答等。KAG充分整合了知识图谱(KG)的逻辑和事实特征。
KAG是一个强大的知识增强型LLM框架,能够处理复杂的逻辑推理和问答任务。其安装方法相对简单,提供了面向普通用户和开发者的两种途径。
GitHub地址:https://github.com/OpenSPG/KAG
1、核心功能特点
>> 知识和片段互索引结构:整合更完整的上下文文本信息。
>> 基于概念语义推理的知识对齐:减轻OpenIE造成的噪声问题。
>> 模式约束的知识构建:支持领域专家知识的表示和构建。
>> 逻辑形式引导的混合推理和检索:支持逻辑推理和多跳推理问答。
2、技术架构
KAG 框架由三个主要部分组成:
-
kg-builder: 负责知识表示和构建。它实现了一种对LLM友好的知识表示,基于DIKW层次结构升级SPG知识表示能力,兼容无模式和有模式的知识构建,并支持图结构和文本块的互索引表示,为后续推理问答阶段的高效检索提供支持。
-
kg-solver: 负责推理和求解。它采用逻辑形式引导的混合求解和推理引擎,包含规划、推理和检索三种运算符,能够集成检索、知识图谱推理、语言推理和数值计算四种问题求解过程,从而处理复杂的逻辑推理和问答任务。
-
kag-model: (未来逐步开源) 该部分的功能在当前版本中未详细说明,可能包含模型训练、优化或其他与模型相关的组件。
(1)、KAG 的核心功能之LLM 友好的语义化知识管理:知识表示+知识融合+互索引机制+噪声降低
- 知识表示: KAG 采用了一种对大型语言模型友好的知识表示框架LLMFriSPG,它基于DIKW(数据、信息、知识、智慧)层次结构,升级了原有的SPG知识表示能力。 这种框架能够处理私域知识库中非结构化数据(新闻、事件、日志、书籍等)、结构化信息(交易、统计、审批等)以及业务专家经验和领域知识规则。
- 知识融合: 它兼容同一知识类型(如实体类型、事件类型)上的无模式约束信息提取和有模式约束的专业知识构建。 通过布局分析、知识抽取、属性规范化和语义对齐等技术,将原始业务数据和专家规则整合到统一的业务知识图谱中。
- 互索引机制: KAG 支持图结构与原始文本块之间的互索引表示,这有助于构建基于图结构的倒排索引,并促进逻辑形式的统一表示、推理和检索,从而提高知识检索效率和准确性。
- 噪声降低: 通过知识理解和语义对齐等技术,降低信息抽取过程中的噪声,提高知识的准确性和一致性。
(2)、KAG 的核心功能之逻辑符号引导的混合推理引擎:混合推理+多策略集成
- 混合推理: KAG 采用逻辑符号引导的混合求解和推理引擎,它将自然语言问题转化为结合语言和符号的问题求解过程。
- 多策略集成: 该引擎包含三种类型的运算符:规划、推理和检索。 每一步都可以利用不同的运算符(精确匹配检索、文本检索、数值计算或语义推理),从而集成四种不同的问题求解过程:图谱推理、逻辑计算、Chunk检索和LLM推理。 这使得KAG能够灵活应对各种类型的问答需求。
KAG的安装和使用方法
KAG 提供两种安装和使用方法:产品版 (面向普通用户) 和工具包版 (面向开发者)。
1、产品版 (面向普通用户)
系统要求:
macOS: macOS Monterey 12.6 或更高版本
Linux: CentOS 7 / Ubuntu 20.04 或更高版本
Windows: Windows 10 LTSC 2021 或更高版本
软件要求:
macOS/Linux: Docker,Docker Compose
Windows: WSL 2 / Hyper-V,Docker,Docker Compose
安装步骤:
设置HOME环境变量 (仅限Windows用户): set HOME=%USERPROFILE%下载docker-compose.yml文件: 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
使用方法: 使用浏览器访问默认URL: http://127.0.0.1:8887
2、工具包版 (面向开发者)
引擎和依赖镜像安装: 参考产品版步骤完成安装。
KAG安装:
T1、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 .
T2、Windows:
安装Python 3.8.10或更高版本,安装Git。
创建并激活Python虚拟环境: 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可以用于构建专业领域知识库的逻辑推理和事实问答解决方案,并支持逻辑推理和多跳事实问答。 未来计划包括支持事件推理知识图谱和医学知识图谱的KAG解决方案。