随着 AI 技术的蓬勃发展,RAG 正成为一种变革者,迅速成为问题解决和领域应用中的重要伙伴,这也是 RAG 独特之处。
然而,RAG 存在一些问题,如向量相似度与知识推理相关性之间的巨大差距,且对知识逻辑(如数值、时间关系、专家规则等)的敏感性不足,这些问题阻碍了专业知识服务的实施。
你能想象吗?你有一个聊天机器人,需要基于知识片段之间的特定关系进行推理,以收集与回答问题相关的信息。然而,RAG 通常依赖文本或向量的相似度来检索参考信息,这可能导致不完整和重复的搜索结果。
这就是 KAG 的作用。知识增强生成(KAG)旨在充分利用知识图谱和向量检索的优势,双向增强大语言模型和知识图谱,以解决这些问题。
基于语义推理的知识对齐 KAG 在多跳问答任务中显著优于 NaiveRAG 和 HippoRAG 等方法,在 HotpotQA 上的 F1 得分提升了 19.6%,在 2wiki 上提升了 33.5%。
这些性能跃升主要归因于框架中更高效的索引构建、知识对齐和混合问题解决库的发展。
那么,让我快速演示一下一个实时聊天机器人,向你展示我所说的内容。
我们有两个独立部分。首先,我们从知识管理开始,我将上传一个包含所有图表、表格和图片的 PDF。让我向你展示 KAG 如何提取数据。KAG 采用知识表示模型,将信息组织成结构化格式,使其兼容结构化和非结构化数据。
接下来,KAG 使用一种互索引机制,将知识图谱与原始文本片段链接。它的索引机制能够根据用户查询高效地检索相关信息,并将结构化知识与非结构化数据连接起来。
请继续关注直到最后,因为我将展示如何使用 SQL 和 Neo4j 提取你的数据。
然后,我们进入知识库问答部分。我将向它提出一个简单的问题:“2024年的净收入是多少?”当我提出问题时,KAG 处理查询以理解其意图和上下文。这包括识别关键实体、关系和问题的整体结构。随后,KAG 根据我的查询生成逻辑形式。然后,它从知识图谱(KG)中检索相关信息,包括实体、关系、三元组和数据聚合,以生成清晰易懂的回答。
在这个视频中,我将简要介绍文档内容,让你完全了解 KAG 是什么,它的特点,如何工作,GraphRAG 和 KAG 之间的区别,甚至我们将现场安装应用程序,你可以复制、粘贴并根据需要调整。
什么是 KAG:
知识感知图生成器(KAG)框架是开源的,充分利用了知识图谱和 RAG 技术的互补优势。它不仅将图结构整合到知识库中,还将知识图谱的语义类型、关系和知识图谱问答(KGQA)整合到 KAG 中。
特点
知识感知图生成器(KAG)框架有几个重要特点,使其在专业环境中的问答更加有效。这些特点包括:
1.LLM 友好的知识表示:
KAG 使用一个系统(LLMFriSPG),使大语言模型(LLMs)能够更好地理解数据、信息和知识,从而使其更易于使用知识图谱。
2.互索引:
该框架通过互索引将知识图谱与原始文本连接起来。它帮助更轻松地查找和组织信息,将结构化知识与非结构化文本连接起来。
3.基于逻辑形式引导的混合推理引擎: KAG 拥有一个推理引擎,结合了不同类型的推理,如规划、检索和数学。它允许 KAG 将自然语言问题转化为解决问题的结构化步骤,使其更擅长处理复杂问题。
4.语义推理的知识对齐: KAG 使用语义推理将知识与用户问题对齐。通过确保信息适应上下文并与用户需求一致,它提高了答案的准确性。
5.改进的自然语言处理: 该框架改进了理解、推理和生成语言等基本任务。这些改进帮助 KAG 更好地理解问题、思考问题,并生成清晰的答案。
如何工作:
如上图所示,KAG 架构由三个核心组件组成:KAG-Builder、KAG-Solver 和 KAG-Model。
KAG-Builder 负责构建离线索引。此模块提出一个与大语言模型兼容的知识表示框架,并实现知识结构和文本片段之间的互索引机制。
https://github.com/OpenSPG/KAG/blob/master/kag/examples/medicine/builder/indexer.py
KAG-Solver 引入了一个基于逻辑形式引导的混合推理引擎,结合了大语言模型推理、知识推理和数学逻辑推理。语义推理用于知识对齐,以增强 KAG-Builder 和 KAG-Solver 在知识表示和检索中的准确性。
https://github.com/OpenSPG/KAG/blob/master/kag/solver/logic/solver_pipeline.py
KAG-Model 基于通用语言模型,并优化了每个模块所需的特定能力,从而提高了整体模块的性能。
KAG 与 Graphrag 的区别
KAG 和 GraphRAG 的主要区别在于它们的集成和推理能力。KAG 通过整合语义关系和采用混合推理引擎(用于逻辑、检索和数值任务),充分利用了知识图谱(KG),实现了结构化和复杂问题的解决。
它通过改进的语义对齐和量身定制的自然语言理解、自然语言推理和自然语言生成,增强了在专业领域的通用 LLM 能力。
相比之下,GraphRAG 更侧重于检索和生成,对语义推理、逻辑规划和领域特定性能的重视较少,这可能限制其在复杂查询和专业应用中的有效性。
逐步过程:
KAG 图谱后端服务基于我们之前讨论的 OpenSPG 知识图谱构建框架。首先,使用官方 OpenSPG-Server 服务器文档构建图谱服务器服务。
让我们访问 Docker 网站,下载 Windows 上的 Docker 文件。
安装 Docker Desktop 后,我们打开终端并运行以下命令:
bash
复制编辑
curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml
然后,我们检查服务是否正在运行,并运行此命令:
bash
复制编辑
docker ps
为了确保一切正常工作,检查主服务的日志并运行此命令:
bash
复制编辑
docker logs -f release-openspg-server
复制 http://127.0.0.1:8887/
并粘贴到浏览器中访问 openspg-kag 产品界面。
创建知识库
然后我们点击创建知识库,首先我们为知识库选择一个中文名称。接下来,你需要一个英文名称——记住,它必须以大写字母开头,包含至少三个字符,并且只包含字母和数字。在这个视频中,我会命名为 ‘KAGDemo’。
之后,我们将设置图存储配置。我们复制简单的 JSON 设置;默认情况下,你可以使用本地 Neo4j 数据库。
json
复制编辑
{
"uri": "neo4j://release-openspg-neo4j:7687",
"user": "neo4j"
}
接下来,我们转到模型配置。选择一个模型,如 ChatGPT 或 DeepSeek。将你的 API 密钥和其他细节添加到 JSON 格式中。
json
复制编辑
{
"client_type": "maas",
"model": "gpt-4o",
"base_url": "https://api.openai.com/v1",
"api_key": "Your_path"
}
对于嵌入,我将使用 OpenAI 嵌入。你也可以使用 Ollama 进行嵌入,因为它有一些很酷的嵌入模型。
json
复制编辑
{
"vectorizer": "kag.common.vectorizer.OpenAIVectorizer",
"model": "text-embedding-3-small",
"base_url": "https://api.openai.com/v1",
"api_key": "Your_path"
}
最后,你需要为你的知识库设置语言——可以是中文(zh)或英文(en),我将保持默认设置。
请记住,你可以使用 Ollama 完全本地设置聊天机器人。如果你想了解如何操作,请查看此文档。
json
复制编辑
{
"biz_scene": "default",
"language": "en"
}
保存配置后,你将看到一个包含知识管理和问答的框框,如下所示。
如果你未能成功保存配置,可能会遇到我在安装 Neo4j 时遇到的未知错误。
解决该问题的方法很简单:只需检查 release-openspg-neo4j
是否成功启动,然后重新启动容器:
bash
复制编辑
docker logs release-openspg-neo4j
docker start release-openspg-neo4j
聊天机器人演示:
让我们点击知识管理。一旦点击,我们创建一个任务,命名你的知识任务并选择本地文件上传,支持所有文件后缀类型,通过知识库管理页面进行知识库构建。
我们点击下一步,将最大分段长度设为默认值,然后点击下一步。
一旦看到此屏幕,保持默认设置并点击完成按钮,完成后你可以创建尽可能多的任务——知识越多,聊天机器人就越智能。
注意: 你需要等待图标变绿,任务状态才能完成。为了查看进度,点击日志查看图标,确保所有内容已成功提取,如下所示。
我非常喜欢 OpenSGP 的一个功能是我们可以使用 Neo4j 浏览器提取知识并检查知识提取结果。对于任何想跟踪数据并确保聊天机器人生成准确回应的人来说,这个功能非常有帮助。
http://127.0.0.1:7474/browser/
接下来,让我们点击知识管理,与聊天机器人互动并测试它。我将向聊天机器人询问来自 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%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。