一、这是什么工具

AI Knowledge Graph 是一个 AI 驱动的知识图谱生成器,由开发者 robert-mcdermott 创建,Apache-2.0 协议,GitHub 2,847 星。

它的核心思路很直接:把任意非结构化文本文档喂给它,自动提取实体和关系,生成一幅可交互的知识图谱。整个过程不需要写代码,只需要一个文本文件 + 一个配置文件。

项目地址

github.com/robert-mcdermott/ai-knowledge-graph · Apache-2.0 · Python 3.11+

二、核心能力

1文本分块

自动将大文档拆分为可管理的片段(可配置 chunk_size 和 overlap),避免单次请求过长导致 LLM 输出质量下降。

2知识提取

使用 LLM 识别文本中的实体及其关系,以 Subject-Predicate-Object(SPO)三元组 形式结构化存储。

3实体标准化

可选开启 LLM 实体对齐,确保同一实体在不同文本片段中出现时命名一致(如"OpenAI"和"openai"合并)。

4关系推理

发现图中不相连部分之间的隐藏关系,支持传递推理和词法相似度推理,补全知识图谱的"隐形连接"。

5多后端兼容

支持 Ollama、LM Studio、OpenAI、vLLM、LiteLLM 等任意 OpenAI 兼容 API,可本地部署也可用云端模型。

三、处理流程四阶段

整个管道分为四个阶段,逐步将纯文本转化为交互式图谱:

阶段功能关键操作
一:三元组提取文本分块 → LLM 提取按 chunk_size 拆分,逐块请求 LLM 输出 SPO 三元组 JSON
二:实体标准化文本规范化 → LLM 对齐可选步骤,合并同义实体,统一命名
三:关系推理社区检测 → 推理 → 去重识别不相连社区,跨社区推理新关系,传递闭包,词法相似度补全
四:可视化中心性计算 → 社区着色 → 渲染NetworkX 计算度/介数/特征向量中心性,Louvain 社区检测,PyVis 生成交互式 HTML

四、安装与使用

环境要求:Python 3.11+,推荐使用 uv 管理依赖。

方式一:直接运行(推荐)

# 1. 克隆仓库
git clone https://github.com/robert-mcdermott/ai-knowledge-graph
cd ai-knowledge-graph

# 2. 安装依赖
uv sync
# 或: pip install -r requirements.txt

# 3. 编辑 config.toml,配置 LLM 后端

# 4. 运行
uv run generate-graph.py --input your_document.txt --output knowledge_graph.html

方式二:作为模块安装

# 安装为系统模块
pip install --upgrade -e .

# 之后可直接调用 generate-graph 命令
generate-graph --input your_document.txt --output knowledge_graph.html

命令行参数

参数说明默认值
--input FILE输入文本文件路径(必需)—
--output FILE输出 HTML 文件路径knowledge_graph.html
--config FILE配置文件路径config.toml
--debug启用调试输出(显示原始 LLM 响应)关闭
--no-standardize跳过实体标准化步骤启用
--no-inference跳过关系推理步骤启用
--test使用测试数据生成示例可视化关闭

快速测试

运行 uv run generate-graph.py --test 即可在不写任何配置的情况下看到示例图谱输出,适合验证环境是否正常工作。

五、配置详解

核心配置文件是根目录的 config.toml,以下是完整示例:

# LLM 配置
[llm]
model = "gemma3"
api_key = "sk-1234"
base_url = "http://localhost:11434/v1/chat/completions"
max_tokens = 8192
temperature = 0.2

# 文本分块
[chunking]
chunk_size = 200     # 每块单词数
overlap = 20         # 块间重叠单词数

# 实体标准化
[standardization]
enabled = true
use_llm_for_entities = true

# 关系推理
[inference]
enabled = true
use_llm_for_inference = true
apply_transitive = true

建议:第一次使用先用 Ollama 本地模型(免费、隐私),确认效果后再切换到云端 API。

六、可视化特性

输出是一个自包含的 HTML 文件,在浏览器中直接打开即可交互:

  • 社区着色:节点按 Louvain 社区检测结果着色,同色节点天然聚为一类。
  • 节点大小:由度中心性、介数中心性、特征向量中心性综合决定,重要实体节点更大。
  • 关系线型:原始提取的关系用实线,推理补全的关系用虚线,一眼区分知识来源。
  • 交互操作:支持缩放、平移、悬停查看详情、过滤节点、控制物理模拟。
  • 双主题:默认浅色主题,也支持深色模式切换。

输出的 HTML 是单文件、离线可用,适合存入个人知识库或分享给团队成员查看。

七、适用场景

场景输入输出价值
📚 个人知识管理读书笔记、笔记文档将碎片化笔记转化为结构化知识图谱,一目了然
🏢 企业知识库产品文档、技术手册快速梳理产品功能关系,辅助新人 onboarding
🔬 学术研究论文、文献综述提取研究实体和关系,发现研究空白
🎮 游戏/世界观设定小说、设定文档角色、地点、事件关系可视化
🛠️ 代码项目分析README、API 文档模块依赖关系图谱,理解项目架构

八、总结

AI Knowledge Graph 是一个把"读文档"变成"看图谱"的实用工具。它的价值不在于算法有多前沿,而在于把一整套流程(分块→提取→标准化→推理→可视化)封装成了几行命令,让普通人也能快速上手。

  • 优点:Apache-2.0 开源、支持本地 Ollama(零 API 成本)、输出单文件 HTML 离线可用、流程四阶段完整可控。
  • 注意点:依赖 LLM 调用,大文档可能较慢;实体标准化和关系推理需要开启才能发挥最大效果,建议先用 --test 验证环境。

适合一人公司的知识管理需求——把散落的笔记、文档、研究资料一次性变成可浏览的知识网络。

返回技艺录