游乐游手机版
首页/AI教程/文章详情

第61期开源项目:knowledge_graph文本转知识图谱

时间:2026-06-05 17:39
引言 这是「一天一个开源项目」系列的第61篇文章。今天要聊的,是一个能把任意文本转换成知识图谱的开源项目——knowledge_graph(GitHub)。 有没有过这样的冲动:把一堆PDF、文档,一键变成可查询、可交互的知识图谱?knowledge_graph就是干这个的。它借助LLM来提取“概念

引言

这是「一天一个开源项目」系列的第61篇文章。今天要聊的,是一个能把任意文本转换成知识图谱的开源项目——knowledge_graph(GitHub)。

一天一个开源项目(第61篇):knowledge_graph - 把任意文本转成知识图谱

有没有过这样的冲动:把一堆PDF、文档,一键变成可查询、可交互的知识图谱?knowledge_graph就是干这个的。它借助LLM来提取“概念”(而不是实体),构建节点和边,支持图检索增强生成(GRAG)、中心性分析、社区发现。更关键的是——它不走GPT付费路线,用的是本地Mistral 7B + Ollama,零API成本,Docker一键跑起来。

你将学到什么

  • 知识图谱的构建流程
  • 概念 vs 实体的区别
  • W1(语义关系)与 W2(上下文邻近)双权重机制
  • GRAG 与 RAG 的对比
  • 本地 Ollama + Docker 快速上手

前置知识

  • 对 RAG、知识图谱有基本了解
  • 有 Docker 或本地 Ollama 环境(可选)

项目背景

项目简介

knowledge_graph 由 rahulnyk 开源,核心目标是从 PDF 等文本语料中,用 LLM 提取“概念”(concepts)而非“实体”(entities)。举个例子:“班加罗尔”是实体,但“班加罗尔宜人天气”就是一个概念。概念在同一文本块中间出现,就被视为相关。这样构建出的图谱,可以用作 GRAG 的底图,也能做中心性计算、社区聚类等。

作者理念

  • 作者:rahulnyk
  • 核心理念:概念比实体更有意义;本地 LLM 零成本;可扩展为图数据库

项目数据

  • ⭐ GitHub Stars: 3.1k+
  • ? Forks: 491+
  • ? License: MIT
  • ? 示例图谱: rahulnyk.github.io/knowledge_g…
  • ? 方法详解: Medium 文章

主要功能

核心流程

  1. 分块:将文本切分为 chunks,并分配 chunk_id。
  2. 提取概念与关系:用 LLM 从每个 chunk 提取概念及其语义关系,权重记为 W1。
  3. 上下文邻近:同一 chunk 内共现的概念视为相关,权重记为 W2。
  4. 合并边:对相同概念对合并权重、拼接关系,得到唯一边。
  5. 计算度与社区:节点度用于节点大小(sizing),社区用于颜色(coloring)。

概念 vs 实体

类型示例说明
实体Bangalore、医生具体对象、人名、地名
概念Pleasant weather in Bangalore、医生与患者关系情境、关系、抽象概念
本项目提取概念作者经验:概念比实体更有意义的 KG

使用场景

  1. GRAG:用图谱作为检索器,与文档进行更深层对话。
  2. 中心性分析:识别文本中最重要的概念。
  3. 社区发现:将概念聚类,分析主题结构。
  4. 可视化:用 Pyvis 生成可托管到网页的交互图。

快速开始

Docker(推荐)

git clone https://github.com/rahulnyk/knowledge_graph.git
cd knowledge_graph
docker build -t knowledge-graph .
docker run -p 8888:8888 knowledge-graph

然后访问 Jupyter(端口 8888)。

本地 Ollama

  1. 安装 Ollama
  2. 运行 ollama run zephyr(或 Mistral 7B OpenOrca)
  3. 修改 extract_graph.ipynb 中的输入文本/PDF 路径,运行 notebook

核心 Notebook 就是 extract_graph.ipynb

技术栈

组件说明
Mistral 7B OpenOrca提取概念的 LLM,通过 Ollama 本地运行
Ollama本地托管模型,零 API 成本
Pandas图 schema 的 dataframe(可后续换图数据库)
NetworkX图结构与算法
Pyvis生成可网页托管的 JS 图可视化

项目优势

对比项knowledge_graph传统 NER + 关系抽取纯向量 RAG
提取对象概念实体无显式结构
关系语义 + 上下文邻近预定义关系类型
成本本地 LLM,零 API视实现而定向量化有成本
检索方式图检索(GRAG)图查询向量相似度
可解释性高,可追溯边与 chunk

项目详细剖析

双权重设计

  • W1:LLM 提取的语义关系,同一概念对可有多种关系。
  • W2:同一 chunk 内共现的上下文邻近关系。
  • 合并:相同概念对合并,权重相加,关系列表拼接。

待改进方向(社区建议)

后端

  • 用 embedding 去重语义相似概念(如 "doctor" 与 "doctors")
  • 过滤冗余、离群概念
  • 优化上下文邻近,避免高频概念过重

前端

  • 按兴趣/主题展开子概念
  • 更实用的图谱浏览与导航

目录结构

knowledge_graph/
├── extract_graph.ipynb   # 核心提取 notebook
├── ner.ipynb             # NER 相关
├── data_input/           # 输入数据
├── data_output/          # 输出
├── helpers/              # 辅助函数
├── ollama/               # Ollama 相关
├── dockerfile
└── pyproject.toml

项目地址与资源

官方资源

  • ? GitHub: github.com/rahulnyk/knowledge_graph
  • ? 示例图谱: rahulnyk.github.io/knowledge_graph_demo
  • ? Medium: How to convert any text into a graph of concepts
  • ? Issues: GitHub Issues

适用人群

  • 需要从文档构建知识图谱的开发者
  • 探索 GRAG、图检索增强的团队
  • 希望零 API 成本、本地运行的 RAG/GRAG 用户
  • 对概念抽取、图可视化感兴趣的研究者
来源:https://juejin.cn/post/7623624335062024230
上一篇16GB Mac也能运行的OpenAI开源模型gpt-oss-20b-tq3 下一篇TRAE发布SOLO版本的根本原因
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
阿里云OpenClaw官方镜像六大场景3分钟开箱即用指南
AI教程 · 2026-06-06

阿里云OpenClaw官方镜像六大场景3分钟开箱即用指南

先聊聊OpenClaw到底是什么,以及它为什么值得关注。作为阿里云推出的智能助理平台,OpenClaw基于通义千问大模型深度定制,目标很明确:为开发者、创作者、运营者提供一站式的AI赋能解决方案。下面直接切入正题,看看它的六大核心场景。 OpenClaw 智能助理:六大核心场景赋能开发者高效成长 O

Moltbot Clawdbot与飞书机器人接入实践
AI教程 · 2026-06-06

Moltbot Clawdbot与飞书机器人接入实践

简单认识一下 Clawdbot 最近 AI 圈被一款名为 Clawdbot 的产品刷屏了。不管是在国内技术社区,还是刷 TG、X 的时候,几乎都能看到有人在讨论它。 看了一下官方文档,Clawdbot 本质上就是一个偏“个人智能助手”的东西。不过它并不是单独开一个网页给我们用,而是可以直接接入我们平

SpringAI与ONNX打造免费离线向量引擎
AI教程 · 2026-06-06

SpringAI与ONNX打造免费离线向量引擎

前段时间尝试了一个很有意思的项目——原本只是想在 Spring AI 项目中顺手集成 ONNX 模型,结果一上手就停不下来,直接调试到凌晨两点,边调边感慨:整个过程也太丝滑流畅了。 今天就来深入聊聊这件事:如何在 Spring AI 中使用 ONNX 向量模型,实现本地化的文本嵌入能力。 如果你之前

AI智能体技能完全指南:让你的AI助手拥有超能力
AI教程 · 2026-06-06

AI智能体技能完全指南:让你的AI助手拥有超能力

引言:AI Agent 的能力边界在哪里?你的AI编程助手可以编写代码,但它是否真正理解你公司的独特工作流程?能否自动处理你的CI CD流水线?又是否熟悉你日常使用的那些特定工具与API接口?AI Agent Skills正是为解决这一痛点而诞生的——它们作为可复用的能力模块,能够将通用型AI助手转

AI编程神器狂揽34k星与Claude Code和Codex绝配
AI教程 · 2026-06-06

AI编程神器狂揽34k星与Claude Code和Codex绝配

CC Switch:一站式AI编程工具管理神器 今天要介绍的这款实用小工具,名字叫作CC Switch。它是一款跨平台的桌面“All-in-One”助手,专门用于管理主流的AI编程开发工具。目前该项目在GitHub上已经获得了34k+ star,关注度非常高。它的核心卖点很直接:提供一个可视化操作界