随着 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 的区别。
什么是 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 是开源的,我们应该充分利用其代码,看看如何为我们的需求创建定制解决方案!
如何零基础入门 / 学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?
”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人」
,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
👉 福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
全套AGI大模型学习大纲+路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉 福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。