knowledge-graph-of-thoughts
让低成本LLM通过知识图谱结构化推理,在GAIA基准上成本降低36倍、成功率提升29%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让低成本LLM通过知识图谱结构化推理,在GAIA基准上成本降低36倍、成功率提升29%
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024 年以来,大语言模型(LLM)驱动的 AI 助手蓬勃发展——LangChain、AutoGPT、Hugging Face Agents 层出不穷。然而,这些系统普遍面临两个核心困境:成本高(GPT-4o 每百万 token 费用不菲)和成功率低(在 GAIA 等复杂基准测试上表现欠佳)。ETH Zurich 的 SPCL 实验室敏锐地捕捉到了这个痛点,由 Graph of Thoughts(GoT)论文作者 Maciej Besta 领衔,于 2025 年推出了全新的 Knowledge Graph of Thoughts(KGoT) 框架,让低成本模型也能高效解决复杂问题,论文一经发表便引发学界与工业界广泛关注。

图1:KGoT 任务转换流程——将复杂问题拆解并结构化到知识图谱中
传统的 Chain-of-Thought(CoT)和 Tree-of-Thoughts(ToT)让模型逐步推理,但这些"思考痕迹"本质上是非结构化的文本字符串——信息孤岛、难以复用、容易遗忘早期关键事实。KGoT 的核心洞察是:用知识图谱(Knowledge Graph)作为推理过程的结构化记忆。
具体来说,KGoT 的 Controller 组件会引导 LLM 将任务分解成多个"思维节点",节点之间通过语义关系连成图。每次工具调用(网页搜索、数学求解、Python 执行等)的结果会追加到图谱中,而不是简单地附加在对话历史后面。这样做有三大好处:
在 GAIA 基准测试中,KGoT 相比 Hugging Face Agents(GPT-4o mini)实现了 29% 的任务成功率提升,同时使用更小的模型,推理成本降低超过 36 倍。
KGoT 系统采用模块化设计,由三个核心组件构成:
图2:KGoT 系统架构图——Controller、Graph Store、Integrated Tools 三者协同
Controller 是整个推理管线的"大脑",负责:维护推理状态,决定下一步调用哪个工具或继续推理;管理 LLM 与图谱之间的交互——何时将中间结论写入图谱、何时查询图谱获取背景知识;支持可配置的参数调优(推理深度、工具选择策略等),通过 kgot/controller/ 模块实现。Controller 提供了多个后端实现,分别适配不同的图数据库(Neo4j、NetworkX、RDF4J),体现了良好的抽象设计。
Graph Store 是系统的"记忆中枢",提供统一接口对接多种知识图谱后端:Neo4j(生产级图数据库,支持 Cypher 查询语言,适合大规模推理任务);NetworkX(纯 Python 实现,适合轻量实验和快速原型);RDF4J(支持 RDF/SPARQL 标准,适合学术和语义网场景)。这种"插拔式"设计让开发者可以根据任务规模和部署环境灵活选择,无需修改上层代码。
Tools 模块赋予 KGoT "动手能力",包括:Web Search(通过 SerpAPI 进行实时网络搜索);Python Code Tool(在沙箱 Docker 容器中安全执行 LLM 生成的 Python 代码);Wikipedia Search(结构化知识检索);YouTube Transcript(视频内容理解);PDF/DOCX/PPTX 解析(多格式文档读取);Math Solver(数学问题求解)。每类工具都有独立的命名空间,通过 Tool Manager Interface 统一调度,支持灵活扩展新工具。
KGoT 的技术选型非常有特色:核心推理框架使用 LangChain(>=0.2.11),通过 ChatOllama 支持本地模型;图数据库客户端涵盖 neo4j(5.23.1)、NetworkX、RDF4J(SPARQLWrapper);LLM 接口支持 OpenAI API 和本地 Ollama;Web 搜索集成 SerpAPI、Wikipedia API、PyWikibot;文档解析覆盖 PyMuPDF、python-docx、python-pptx、pdfminer;容器化采用 Docker Compose(Neo4j + Python + KGoT 独立镜像)和 Sarus(HPC);可视化使用 Plotly、Kaleido(静态图导出);全文检索使用 FAISS(向量检索)。
值得注意的是,KGoT 的依赖列表非常丰富(60+ 包),覆盖了从 LLM 推理到多模态文档解析的完整链路。这既是其功能全面的体现,也意味着部署环境需要 Python 3.10-3.12,且某些依赖(如 Tesseract)在无桌面环境的 Linux 服务器上需要额外安装系统包。
KGoT 提供了非常完善的 Docker 部署方案,这是该项目的一大亮点。项目根目录和子目录均提供了 docker-compose.yaml,分为三层容器:Neo4j 容器(图数据库服务,暴露 Bolt 和 HTTP 端口);Python 容器(代码执行沙箱,通过 Flask 提供安全执行环境);KGoT 容器(主推理服务,依赖前两者)。
部署步骤非常简洁:克隆仓库,进入 containers 目录,执行 docker compose up。配置仅需两步——复制配置文件模板并填入 API Key(OpenAI 或 Ollama)。本地模型通过 Ollama 接入,无需 GPU 也能运行轻量模型进行实验。
局限需要关注:无 Web UI,纯粹通过 Python CLI 调用,对非技术用户不够友好;使用 SerpAPI 需要额外注册付费账号;快照传输功能(_snapshots)仅在 Docker 容器内受支持。
KGoT 的代码质量体现了 ETH Zurich 顶级实验室的工程水准:模块化设计优秀,Controller/Graph Store/Tools 三层职责清晰,后端可替换;版本管理规范,pyproject.toml + hatchling 构建,依赖版本锁定;文档完善,每个子模块均有独立 README,论文配套图表丰富;多后端支持,Neo4j/NetworkX/RDF4J 三种图存储后端,适配不同场景;快照可视化工具,提供独立的 snapshots_visualization_tool(前端+后端+Graphviz),可可视化推理过程中知识图谱的动态演化。
KGoT 的出现揭示了一个重要趋势:让小模型通过结构化推理弥补能力差距。其 36 倍成本降低 + 29% 成功率提升的数据,证明知识图谱作为推理载体的路线是可行的。这对以下场景意义重大:企业知识助手——将内部文档库转化为知识图谱,LLM 按需查询,成本可控;学术研究——作为 AI Agent 的 baseline 框架,对比各种推理策略;边缘部署——配合 Ollama 在本地运行,不依赖云端 API。
| 维度 | 评价 |
|---|---|
| 部署难度 | 中等(Docker 完善,但依赖多、配置稍繁) |
| 功能完整性 | 极高(工具链覆盖广,图数据库后端多) |
| 代码质量 | 高(模块化好,文档完善) |
| 研究价值 | 极高(论文驱动,GAIA 基准 SOTA) |
| 适用人群 | AI 研究者、企业知识管理团队、LangChain 生态开发者 |
KGoT 是一个将学术前沿(GoT → KGoT)与工程落地(多后端、容器化) 结合得非常好的项目。如果你正在构建需要复杂推理能力的 AI 助手,或对知识图谱驱动的 Agent 架构感兴趣,KGoT 值得深入研究。