支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


使用KAG+多模态RAG+智能体建造强大的AI推理机器人

发布日期:2025-04-13 10:55:58 浏览次数: 1563 作者:PyTorch研习社
推荐语

探索AI领域新突破,KAG+RAG技术如何重塑智能体推理能力。

核心内容:
1. RAG在AI问题解决中的关键角色及其局限性
2. KAG技术如何结合知识图谱和向量检索优势,提升推理性能
3. KAG在知识管理和问答中的工作机制及实际应用案例

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

随着 AI 技术蓬勃发展,RAG 正成为游戏规则改变者,迅速成为问题解决和领域应用的合作伙伴,这正是 RAG 的独特之处。

然而,RAG 存在一些问题,例如向量相似性与知识推理相关性之间的巨大差距,以及对知识逻辑(如数值、时间关系、专家规则等)的不敏感,这些都阻碍了专业知识服务的实现。

你能想象吗?你有一个聊天机器人,需要基于知识片段之间的特定关系进行推理,以收集与回答问题相关的信息。然而,RAG 通常依赖文本或向量的相似性来检索参考信息,这可能导致搜索结果不完整和重复。

这就是 KAG 的用武之地。知识增强生成(Knowledge Augmented Generation)旨在充分利用知识图谱和向量检索的优势,双向增强大语言模型(LLM)和知识图谱(KG),以解决这些问题。

基于语义推理的知识对齐 KAG 在多跳问答任务中显著优于 NaiveRAG 和 HippoRAG 等方法,在 hotpotQA 上的 F1 分数相对提高了 19.6%,在 2wiki 上提高了 33.5%。

这些性能飞跃主要归功于框架中更高效的索引构建、知识对齐和混合问题解决库的开发。

所以,让我给你展示一个实时聊天机器人的快速演示,让你明白我的意思。

我们有两个独立的部分。

首先我们从知识管理开始,我将上传一个包含所有图表、表格和图片的 PDF。让我展示 KAG 如何提取数据。KAG 采用知识表示模型,将信息组织成结构化格式,使其兼容结构化和非结构化数据。

接下来,KAG 使用互索引机制,将知识图谱与原始文本块链接起来。其索引机制能根据用户查询高效检索相关信息,并将结构化知识与非结构化数据连接起来。

然后,我们进入知识库问答部分。我会问一个简单的问题:“2024年的净收入是多少?”当我提出这个问题时,KAG 会处理查询以理解其意图和上下文。这包括识别关键实体、关系和问题的整体结构。之后,KAG 会根据我的查询生成一个逻辑形式。然后,它从知识图谱(KG)中检索相关信息,包括实体、关系、三元组和数据聚合,以生成一个清晰易懂的答案给用户。

在接下来的部分,我会让你 100% 了解 KAG 是什么、它的功能、如何工作、GraphRAG 与 KAG 的区别。

首先插一句,为了感谢一直以来支持我的铁子们,从4月13日到4月20日,我将向评论获赞数前3名的铁子们赠送一本我最近正在阅读的书:

当然,我也很欢迎你们点击上方链接购买图书支持一下我

什么是 KAG?

KAG(Knowledge-Aware Graph Generator,知识感知图生成器)框架是开源的,充分利用了知识图谱和 RAG 技术的互补优势。它不仅将图结构整合到知识库中,还将知识图谱的语义类型、关系和知识图谱问答(KGQA,Knowledge Graph Question Answering)整合到 KAG 中。

KAG 框架具有几个重要功能,使其在专业环境中回答问题时表现更出色。这些功能包括:

1. 与大语言模型(LLM)兼容的知识表示

KAG 使用一个与 LLM 兼容的系统(LLMFriSPG)。它帮助 LLM 理解数据、信息和知识,从而更轻松地使用知识图谱。

2. 互索引(Mutual Indexing)

该框架通过互索引将知识图谱与原始文本连接起来。它有助于更轻松地查找和组织信息,将结构化知识与非结构化文本链接。

3. 逻辑形式引导的混合推理引擎

KAG 拥有一个推理引擎,结合了多种推理类型,如规划、检索和数学计算。它使 KAG 能够将自然语言问题转化为结构化的问题解决步骤,从而更好地处理复杂问题。

4. 语义推理的知识对齐

KAG 使用语义推理将知识与用户的问题相匹配。它通过确保信息符合上下文并与用户需求对齐,提高了答案的准确性。

5. 改进的自然语言处理

该框架改进了理解、推理和语言生成等基本任务。这些改进帮助 KAG 更好地理解问题、进行推理并生成清晰的答案。

工作原理

如上图所示,KAG 架构由三个核心组件组成:KAG-Builder、KAG-Solver 和 KAG-Model。

  • KAG-Builder 负责构建离线索引。该模块提出了一个与大语言模型兼容的知识表示框架,并实现了知识结构与文本片段之间的互索引机制。  

  • KAG-Solver引入了逻辑形式引导的混合推理引擎,整合了大语言模型推理、知识推理和数学逻辑推理。语义推理用于知识对齐,以增强 KAG-Builder 和 KAG-Solver 在知识表示和检索中的准确性。  

  • KAG-Model 基于通用语言模型,优化了每个模块所需的特定能力,从而提升整体模块性能。

KAG 与 GraphRAG 的比较

KAG 和 GraphRAG 的主要区别在于它们的整合和推理能力。KAG 通过融入语义关系并采用混合推理引擎处理逻辑、检索和数值任务,充分利用知识图谱(KG),实现结构化和复杂的问题解决。

它通过改进语义对齐和定制的自然语言理解、自然语言推理和自然语言生成,增强了通用大语言模型在专业领域的性能。

相比之下,GraphRAG 更专注于检索和生成,对语义推理、逻辑规划和领域特定性能的关注较少,这可能限制其在复杂查询和专业应用中的效果。

搭建过程

KAG 图后端服务基于我们讨论过的 OpenSPG 知识图谱构建框架。首先,使用官方 OpenSPG-Server 服务器文档构建图服务器服务。

访问 docker 网站,下载 docker 文件,我是 Windows 系统。

安装 Docker Desktop 后,我们打开终端并运行以下命令:

curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml

然后我们执行以下命令检查服务是否启动并运行:

docker ps

为确保一切正常工作,执行以下命令检查主服务的日志:

docker logs -f release-openspg-server

在浏览器中输入 http://127.0.0.1:8887/ 访问openspg-kag产品界面。

创建知识库

然后我们点击“Create Knowledge Base”创建知识库。首先,我们为知识库选择一个中文名称。接下来,你需要一个英文名称——请记住,英文名称必须以大写字母开头,至少包含三个字符,且只能包含字母和数字。在这个示例中,我会将其命名为类似“KAGDemo”的名称。

之后,我们将设置图存储配置。我们复制一个简单的 JSON 配置;默认情况下,你可以使用本地 Neo4j 数据库。

现在,我们转到模型配置。选择一个模型,如 ChatGPT 或 DeepSeek。以 JSON 格式添加你的 API 密钥和其他详细信息。

对于嵌入,我将使用 OpenAI Embedding。你也可以使用 Ollama 进行嵌入,因为它有一些很酷的嵌入模型。

最后,你需要为知识库设置语言——中文(zh)或英文(en)。我将保持默认设置。

请注意,你可以使用 Ollama 完全本地化设置聊天机器人。如果想了解如何操作,请查看此文档。

https://openspg.yuque.com/ndx6g9/wc9oyq/yexegklu44bqqicm

成功保存配置后,你会看到一个小框,包含知识管理和问答功能,如下所示。

在这种情况下,如果你没有成功保存配置,可能会遇到我在安装 Neo4j 时遇到的同样的问题,即一个未知错误。

解决这个问题的方法很简单:只需检查 release-openspg-neo4j 是否成功启动,然后重新运行容器:

聊天机器人演示


我们点击“Knowledge Management”知识管理。点击后,我们创建一个任务,命名你的知识任务,并选择本地文件,通过知识库管理页面上传所有支持类型文件后缀的文件创建知识库。

我们点击“下一步”,将最大段长度设为默认值,然后点击“下一步”。
一旦看到这个界面,保持默认设置,然后点击“Finish”完成按钮。完成后,你可以根据需要创建多个任务,知识越多,你的聊天机器人表现越好。
注意:你需要等待任务状态图标变为绿色,表示任务已完成。要检查进度,点击日志查看图标,确保所有内容已成功提取,如下所示。
我喜欢 OpenSPG 的众多功能之一是,我们可以使用 Neo4j 浏览器来提取知识并检查知识提取结果。这一功能对任何希望跟踪数据并确保聊天机器人使用 Cypher 查询生成准确响应的人来说非常有帮助。
在浏览器中输入:

http://127.0.0.1:7474/browser/

让我们点击“Knowledge Management”知识管理来与聊天机器人互动并进行测试,我将向聊天机器人提出 KAG 论文中的一个复杂问题:

“他们免微调的模型的全名是什么?”

如果你仔细观察,会发现当我提出这个问题时,聊天机器人使用了逻辑推理来生成输出。答案准确、结构清晰、易于非技术用户理解,且更加精确,没有任何无关信息。

总结

KAG 框架仍处于早期开发阶段,因此还有改进和变化的空间。凭借自定义模式和可视化查询等新功能,KAG 不仅提升了知识提取和问答的准确性和效率,还加强了其基础。这些更新为开发更强大、更可靠的专业知识服务铺平了道路。

此外,抽象生成类已得到优化。如果我们在不同阶段尝试使用不同规模的模型,KAG 的性能可能会进一步提升。而且,既然 KAG 是开源的,我们应该充分利用其代码,看看如何为我们的需求创建定制解决方案!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询