游乐游手机版
首页/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版本的根本原因
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
Windows Docker Desktop RabbitMQ生产级部署完整指南
AI教程 · 2026-06-29

Windows Docker Desktop RabbitMQ生产级部署完整指南

前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践
AI教程 · 2026-06-29

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践

先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A

阿里云Token Plan团队版功能价格与省钱购买指南
AI教程 · 2026-06-29

阿里云Token Plan团队版功能价格与省钱购买指南

阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全

阿里云物联网.NET Core客户端位置信息上报
AI教程 · 2026-06-29

阿里云物联网.NET Core客户端位置信息上报

阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将

年阿里云服务器选型配置与网站部署全攻略
AI教程 · 2026-06-29

年阿里云服务器选型配置与网站部署全攻略

2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网