llmgraph

GitHub
505 33 简单 1 次阅读 2周前MIT数据工具语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

llmgraph 是一款利用大语言模型(LLM)自动构建知识图谱的开源工具。它只需提供一个维基百科页面链接作为起点,就能调用 ChatGPT 或其他兼容模型,智能提取实体间的关联信息,并生成结构化的知识网络。

这一工具有效解决了传统知识图谱构建过程中依赖人工梳理、耗时费力且难以扩展的痛点,让从非结构化文本中快速获取系统化世界知识变得简单高效。生成的图谱支持 GraphML、GEXF 以及可交互的 HTML 格式,用户可以直接在浏览器中查看节点间的动态关系。

llmgraph 特别适合开发者、数据科学家及研究人员使用,尤其是那些希望快速验证概念、探索领域知识关联或需要可视化数据关系的团队。普通用户若对特定主题的知识脉络感兴趣,也可通过简单的命令行操作轻松上手。

其技术亮点在于集成了 LiteLLM 库,允许用户灵活切换不同的后端大模型;同时具备缓存机制,支持迭代式地扩展图谱深度而无需重复消耗算力。此外,它还能统计 Token 用量,帮助用户清晰掌控运行成本。无论是用于学术调研还是工程原型开发,llmgraph 都能以极低的门槛提供强大的知识挖掘能力。

使用场景

某科技公司的知识图谱工程师需要快速构建“量子计算”领域的关联网络,以支持内部研发问答系统的数据底层搭建。

没有 llmgraph 时

  • 人工梳理耗时极长:工程师需手动阅读数十篇维基百科及论文,逐条提取实体与关系,耗时数天才能完成基础骨架。
  • 数据结构难以统一:不同来源的信息格式杂乱,人工定义节点属性时容易出现标准不一,导致后续图数据库导入频繁报错。
  • 关联深度受限:受限于精力,通常只能构建 1-2 层浅层关系,难以发现跨领域的深层隐性知识连接。
  • 可视化门槛高:将整理好的数据转换为可交互的 HTML 或 GraphML 格式,需要额外编写复杂的绘图代码和配置环境。

使用 llmgraph 后

  • 自动化极速构建:只需输入"quantum-computing"和维基链接,llmgraph 调用大模型在几分钟内自动提取并生成包含多层级关系的图谱。
  • 标准化输出格式:直接生成标准的 GraphML、GEXF 及带物理引擎的 HTML 交互文件,无需任何格式转换即可导入 Neo4j 或直接展示。
  • 深度知识挖掘:通过设置 --levels 参数,llmgraph 能轻松扩展至 3-4 层深度,自动发现算法与硬件之间原本被忽略的隐性关联。
  • 成本透明可控:内置 Token 统计功能,让团队清晰掌握每次构建的 LLM 调用成本(通常仅需几分钱),便于预算管控。

llmgraph 将原本需要数天的人工知识工程工作压缩至分钟级,让开发者能专注于图谱应用而非数据清洗。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 非必需
  • 默认使用云端 API (OpenAI/LiteLLM)
  • 若配置本地模型 (如 Ollama),需根据具体模型决定,文中未指定具体显卡要求
内存

未说明

依赖
notes该工具主要通过调用 LLM API (如 OpenAI, Ollama) 运行,无需本地部署大型模型。必须设置 'OPENAI_API_KEY' 环境变量或使用 '--llm-base-url' 连接本地服务。支持通过 pip 安装或在 Google Colab 中运行。生成的知识图谱可输出为 GraphML, GEXF 和 HTML 格式。
python3.8+
litellm
pyvis
joblib
llmgraph hero image

快速开始

llmgraph

许可证:MIT PyPI版本 构建 最新标签 下载量 Colab

使用大语言模型创建知识图谱。

示例机器学习输出

llmgraph 允许您根据给定的维基百科源实体页面,以 GraphML、GEXF 和 HTML 格式(通过 pyvis 生成)创建知识图谱。这些知识图谱是通过从 ChatGPT 或其他大型语言模型(LLM)中提取世界知识而生成的,这些模型由 LiteLLM 支持。

有关知识图谱的背景知识,请参阅 Computerphile 的 YouTube 概述:观看视频

功能

  • 根据源实体创建知识图谱。
  • 使用 ChatGPT(或指定的其他 LLM)提取世界知识。
  • 生成 HTML、GraphML 和 GEXF 格式的知识图谱。
  • 支持多种实体类型和关系,可通过自定义提示词实现。
  • 支持缓存,可高效地迭代扩展知识图谱。
  • 输出“总 token 数”,以便了解 LLM 的成本(尽管默认运行仅需约 1 美分)。
  • 可自定义模型(默认为 OpenAI 的 gpt-5-mini,以兼顾速度和成本)。

安装

您可以使用 pip 安装 llmgraph,最好是在 Python 虚拟环境 中:

pip install llmgraph

或者,您可以查看一个示例笔记本,其中使用了 llmgraph,并且可以直接在 Google Colab 中运行。 Colab

示例输出

除了 GraphML 和 GEXF 格式外,还可以查看一个启用物理引擎的 HTML pyvis 图:

人工智能示例

示例机器学习输出 生成上述机器学习图:
llmgraph machine-learning "https://en.wikipedia.org/wiki/Artificial_intelligence" --levels 4
查看完整图:machine-learning_artificial-intelligence_v1.0.0_level4_fully_connected.html

llmgraph 使用方法

示例用法

上面的示例是通过以下命令生成的,该命令需要一个 entity_type 和一个带引号的 entity_wikipedia 源 URL:

llmgraph machine-learning "https://en.wikipedia.org/wiki/Artificial_intelligence" --levels 3

此示例基于给定的起始节点“人工智能”创建了一个 3 层知识图谱。

默认情况下使用 OpenAI,您需要在运行前设置环境变量 OPENAI_API_KEY。更多信息请参阅 OpenAI 文档。运行过程中会输出“使用的总 token 数”。作为参考,这个 3 层示例总共使用了 7,650 个 gpt-5-mini token,截至 2025 年 10 月,费用不到 2 美分。

您也可以指定不同的 LLM 提供商,包括使用本地的 ollama 模型。只要支持 LiteLLM 的模型,都可以在这里指定:https://docs.litellm.ai/docs/providers。请注意,用于提取相关实体的提示词是针对 OpenAI 测试过的,可能在其他模型上效果不佳。

本地 ollama/llama2 模型示例:

llmgraph machine-learning "https://en.wikipedia.org/wiki/Artificial_intelligence" --levels 3 --llm-model ollama/llama2 --llm-base-url http://localhost:<your_port>

entity_type 设置了用于查找要包含在图中的相关实体的 LLM 提示词。完整的列表可以在 prompts.yaml 中查看,包括以下实体类型:

  • automobile
  • book
  • computer-game
  • concepts-general
  • concepts-science
  • creative-general
  • documentary
  • food
  • machine-learning
  • movie
  • music
  • people-historical
  • podcast
  • software-engineering
  • tv

必需参数

  • entity_type(文本):实体类型(例如 movie)
  • entity_wikipedia(文本):根实体的完整维基百科链接

可选参数

  • --entity-root(文本):如果与维基百科页面标题不同,可覆盖根实体名称 [默认:无]
  • --levels(整数):从中心根实体向外构建的层数 [默认:2]
  • --max-sum-total-tokens(整数):生成图的最大 token 总数 [默认:200000]
  • --output-folder(文本):输出文件的保存路径 [默认:./_output/]
  • --llm-model(文本):模型名称 [默认:gpt-5-mini]
  • --llm-temp(浮点数):LLM 温度值 [默认:1.0]
  • --llm-base-url(文本):LLM 将使用自定义基础 URL 而不是自动获取的 URL [默认:无]
  • --version:显示 llmgraph 版本并退出。
  • --help:显示此消息并退出。

注意:对于 gpt-5 模型,仅支持温度=1。

更多 HTML 输出示例

以下是不同实体类型和根实体的 HTML 图形输出示例(附有生成命令和查看完整交互式图的链接)。

安装 llmgraph,创建您自己的知识图谱吧!欢迎在上方的 问题专区 分享有趣的成果,并添加文档标签 :)

知识图谱概念示例

概念通用输出示例 生成上述概念通用图的命令:
llmgraph concepts-general "https://en.wikipedia.org/wiki/Knowledge_graph" --levels 4
查看完整图: concepts-general_knowledge-graph_v1.0.0_level4_fully_connected.html

《盗梦空间》电影示例

电影输出示例 生成上述电影图的命令:
llmgraph movie "https://en.wikipedia.org/wiki/Inception" --levels 4
查看完整图: movie_inception_v1.0.0_level4_fully_connected.html

OpenAI 公司示例

公司输出示例 生成上述公司图的命令:
llmgraph company "https://en.wikipedia.org/wiki/OpenAI" --levels 4
查看完整图: company_openai_v1.0.0_level4_fully_connected.html

约翰·冯·诺依曼人物示例

历史人物输出示例 生成上述历史人物图的命令:
llmgraph people-historical "https://en.wikipedia.org/wiki/John_von_Neumann" --levels 4
查看完整图: people-historical_john-von-neumann_v1.0.0_level4_fully_connected.html

用于生成图谱的提示示例

以下是用于从给定源实体中提取相关实体的提示模板示例,其中包含占位符。该模板会递归应用以创建知识图谱,并在必要时合并重复节点。

你对{knowledgeable_about}非常熟悉。
请以 JSON 数组格式列出与 '{{entity_root}}' 最相似的前 {top_n} 个 {entities},
并附上维基百科链接、相似原因以及 0 到 1 的相似度评分。
请将你的回复格式化为包含以下列名的 JSON 数组:'name'、'wikipedia_link'、'reason_for_similarity' 和 'similarity'。
示例回复:{{{{"name": "示例 {entity}","wikipedia_link": "https://en.wikipedia.org/wiki/示例_{entity_underscored}","reason_for_similarity": "相似原因","similarity": 0.5}}}}

此提示在主要测试的 LLM(OpenAI gpt-5-mini)上表现良好。使用 Llama2 时效果尚可,但不如前者。该提示的权威来源及更多详细信息可在 prompts.yaml 中查看。

每种实体类型都有自定义占位符,例如 concepts-generaldocumentary

concepts-general:
    system: 你是一位博学的本体论专家和知识图谱创建者。
    knowledgeable_about: 许多概念和本体论。
    entities: 概念
    entity: 概念名称
    top_n: 5

documentary:
    system: 你精通各类纪录片及其流派。
    knowledgeable_about: 各类纪录片及其流派。
    entities: 纪录片
    entity: 纪录片
    top_n: 5

缓存的 LLM API 调用

每次调用 LLM API(以及维基百科)都会被本地缓存在 .joblib_cache 文件夹中。这使得中断的运行可以在不重复相同调用的情况下继续进行。同时,这也允许在使用更高 --level 选项重新运行时,复用较低级别运行的结果(前提是实体类型和来源相同)。

未来改进方向

  • 对比不同 LLM 模型生成的图谱输出(例如 Llama2MistralChatGPT-4)。
  • 探讨这一方法是否能揭示 LLM 如何理解世界。
  • 在文档中增加更多示例,并提供易于浏览的示例。
  • 提供本地运行说明以及添加自定义 entity_type 提示的方法。
  • 改进 pyviz HTML 输出,特别是将实体关系的原因纳入用户界面,并优化像素大小等参数。
  • 并行化 API 调用和结果处理。
  • 移除对维基百科实体作为来源的依赖。
  • 将 llmgraphg 的结果与其他非 LLM 图谱构建方法进行对比,例如利用维基百科页面链接或 直接文章嵌入

贡献说明

欢迎为 llmgraph 做出贡献。请按照以下步骤操作:

  1. 分支该项目。
  2. 为您的功能或错误修复创建一个新分支。
  3. 进行更改并提交。
  4. 创建包含您更改描述的拉取请求。

感谢 🙏

感谢 @breitburg 实现 LiteLLM 更新。

参考文献

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

155.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|4天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|5天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架