支持私有化部署
AI知识库

53AI知识库

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


RAG升级-基于知识图谱+deepseek打造强大的个人知识库问答机器人

发布日期:2025-04-19 08:19:53 浏览次数: 1538 作者:沉浸式学AI
推荐语

RAG技术结合检索与生成,打造更精准的AI问答系统。KAG框架利用知识图谱优势,显著提升问答性能。

核心内容:
1. RAG技术的发展背景与挑战
2. KAG框架如何结合知识图谱与RAG技术
3. KAG框架的关键特性及其在问答任务中的应用优势

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

近年来,RAG(Retrieval-Augmented Generation,检索增强生成)技术在人工智能领域掀起了一股热潮。随着大模型的快速发展,传统的纯生成式方法在面对复杂、多变的信息需求时,往往面临上下文有限、事实准确性不足等挑战。而RAG通过结合信息检索(Retrieval)与文本生成(Generation)两大核心能力,使模型能够在实时获取外部知识的基础上生成更精准、可信的内容。这一技术不仅提升了AI的回答质量,还在搜索引擎、智能助手、企业知识管理等多个应用场景展现出了巨大潜力。因此,RAG正成为众多企业和研究机构竞相探索的热点,推动着AI技术迈向更智能、更可靠的未来。

然而,RAG 存在诸多问题:例如,其向量相似度与知识推理相关性之间存在较大差距,对知识逻辑(例如数值、时间关系、专家规则等)不敏感,从而阻碍了专业知识服务的实施。

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

这正是 KAG 发挥作用的地方。知识增强生成(Knowledge Augmented Generation)旨在充分利用知识图谱和向量检索的优势,并双向提升大模型与知识图谱,从而解决这些问题。

基于语义推理的知识对齐使得 KAG 在多跳问答任务中明显超越了 NaiveRAG 和 HippoRAG 等方法,在 hotpotQA 数据集中 F1 分数相对提升了 19.6%,在 2wiki 数据集中提升了 33.5%。

这些性能的大幅跃升主要归功于框架中更高效的索引构建、知识对齐及混合问题求解库的开发。详细可查看https://arxiv.org/abs/2409.13731

什么是 KAG

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

特点

知识感知图生成器(KAG)框架具备以下几个关键特性,使其在专业场景下的问答表现更为优越

  1. 适应大模型的知识表示:
     KAG 采用了一个(LLMFriSPG)系统,能与大模型(LLMs)良好协同,帮助 LLM 理解数据、信息与知识,从而更易于利用知识图谱。  
      
  2. 互索引
     该框架通过互索引将知识图谱与原始文本连接在一起,帮助更轻松地查找和整理信息,将结构化知识与非结构化文本有效衔接。
        
  3. 基于逻辑形式引导的混合推理引擎
     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环境)

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


2

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

1 docker compose -f docker-compose.yml up -d

为确保一切正常运行,请检查主服务日志,执行命令:

1docker logs -f release-openspg-server


2

复制 http://127.0.0.1:8887/ 并将其粘贴到浏览器中,以访问 openspg-kag 产品界面。

创建知识库

点击“创建知识库”,首先为知识库选择一个中文名称。接着,你需要输入一个英文名称——请记住,英文名称必须以大写字母开头,至少包含三个字符,并且仅包含字母和数字。在文本中,我将命名为 “KAG论文”。

之后,设置图存储配置。复制以下简单的 JSON 配置,默认使用本地 Neo4j 数据库

1{


2  "uri": "neo4j://release-openspg-neo4j:7687",


3  "user": "neo4j"


4}


5

接下来,进入模型配置。选择一个模型,如 ChatGPT 或 DeepSeek,在 JSON 格式中输入你的 API 密钥及其他详细信息

1{


2  "type": "maas",


3  "base_url": "https://api.deepseek.com",


4  "api_key": "deepseek api key",


5  "model": "deepseek-chat"


6}

对于嵌入,我将使用硅基流动的免费api,可以通过https://cloud.siliconflow.cn/i/CrQNvgcQ注册。你也可以选择 Ollama 进行嵌入,因为它有一些非常不错的嵌入模型。

1{


2    "type": "openai",


3    "model": "BAAI/bge-m3",


4    "base_url": "https://api.siliconflow.cn/v1",


5    "api_key": "YOUR_API_KEY",


6    "vector_dimensions": "1024"


7}

最后,为你的知识库设置语言——可以选择中文(zh)或英文(en),我将保持默认

1{


2  "biz_scene": "default",


3  "language": "en"


4}


5

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

如果保存配置未成功,你可能会遇到我在安装 Neo4j 时遭遇的未知错误。解决该问题的方法很简单:检查 release-openspg-neo4j 是否成功启动,然后重新运行容器:

1docker logs release-openspg-neo4j


2docker start release-openspg-neo4j

聊天机器人演示

点击“知识库构建”,创建一个任务,为你的知识任务命名,然后通过知识库管理页面选择本地文件上传(支持所有文件后缀),以进行知识库构建流程。

点击“下一步”,保持默认的最大分段长度设置,然后点击“下一步”。

看到该界面后,保持默认设置,点击“完成”。完成后,你可以创建任意多的任务——知识越多,聊天机器人就会越智能。

注意:你需要等待直到图标变绿,表示任务状态已完成。你可以点击日志查看图标检查进度,确保所有内容都已成功提取,如下所示。

我非常喜欢 OpenSPG 的一个特点是,我们可以使用 Neo4j 浏览器提取知识并检查知识提取结果。这对于任何希望跟踪数据,并确保聊天机器人通过 Cypher 查询生成精确回答的人来说,都非常有帮助:

http://127.0.0.1:7474/browser/

接下来,让我们点击“知识库问答”与聊天机器人互动并进行测试。我将向聊天机器人提出 KAG 论文中的一个问题

“论文提出的 Knowledge Augmented Generation (KAG) 框架如何弥补 RAG 方法的不足?”

你会看到,当我提出问题时,聊天机器人通过逻辑推理生成了输出。其答案准确、结构严谨、便于非技术用户理解,而且更为精准,没有任何冗余信息。

结论:

KAG 框架仍处于开发初期,因此未来还有改进和优化的空间。借助自定义模式和可视化查询等新功能,KAG 不仅提升了知识提取和问答的准确性与效率,同时也巩固了其基础。这些更新为构建更强大、更可靠的专业知识服务奠定了基础。

此外,摘要生成类也已得到优化。如果我们在各个阶段尝试不同规模的模型,KAG 的性能可能会进一步提升。而且,鉴于 KAG 是开源的,我们应当充分利用其代码,看看它如何帮助我们为各种需求创建定制化方案!


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

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

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

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询