补充聊一下AI驱动的知识图谱生成器

今天给大家分享一个系统,该系统能够处理一个非结构化文本文档,使用你选择的 LLM(大语言模型)提取知识,以主语-谓语-宾语(SPO)三元组的形式呈现,并将这些关系可视化为交互式知识图谱。通过这个项目创建的知识图谱示例:


一、特性

文本切分:自动将大型文档拆分为可处理的小块。
知识抽取:使用 AI 识别实体及其关系。
实体标准化:确保在文档切块中实体命名一致。
关系推断:发现图谱中不相连部分之间的额外关系。
交互式可视化:创建一个交互式图谱可视化。
兼容任何 OpenAI API 端点:支持 Ollama、LM Studio、OpenAI、vLLM、LiteLLM(提供对 AWS Bedrock、Azure OpenAI、Anthropic 及其他多个 LLM 服务的访问)。


二、系统要求

Python 3.11 及以上版本
必要的依赖包(使用 pip install -r requirements.txtuv sync 安装)


三、快速开始

1.克隆此仓库

git clone https://github.com/your-repository/ai-knowledge-graph.git

2.安装依赖:

pip install -r requirements.txt

3.配置你的设置文件 config.toml。 4.运行系统:

python generate-graph.py --input your_text_file.txt --output knowledge_graph.html

或者使用 UV:

uv run generate-graph.py --input your_text_file.txt --output knowledge_graph.html

或者安装并作为模块使用:

pip install --upgrade -e . generate-graph --input your_text_file.txt --output knowledge_graph.html

这部分介绍了如何通过系统提取文本中的知识并生成知识图谱。如果你有其他问题或需要进一步帮助,请随时告知!

四、配置

系统可以通过 config.toml 文件进行配置:

[llm]
model ="gemma3"# 使用 Google 开源模型
api_key ="sk-1234"
base_url ="http://localhost:11434/v1/chat/completions"# 本地运行的 Ollama 实例(但可以是任何兼容 OpenAI 的端点)
max_tokens =8192
temperature =0.2
[chunking]
chunk_size =200# 每个切块的字数
overlap =20# 切块之间的重叠字数
[standardization]
enabled =true# 启用实体标准化
use_llm_for_entities =true# 使用 LLM 进行额外的实体解析
[inference]
enabled =true# 启用关系推断
use_llm_for_inference =true# 使用 LLM 进行关系推断
apply_transitive =true# 应用传递推断规则

五、命令行选项

--input FILE:输入的文本文件进行处理
--output FILE:输出的 HTML 文件路径用于可视化(默认:knowledge_graph.html
--config FILE:配置文件的路径(默认:config.toml
--debug:启用调试输出,显示原始 LLM 响应
--no-standardize:禁用实体标准化
--no-inference:禁用关系推断
--test:使用测试数据生成示例可视化


使用说明 (--help)

执行以下命令可查看帮助信息:

generate-graph --help
usage: generate-graph [-h][--test][--config CONFIG][--output OUTPUT][--input INPUT][--debug][--no-standardize][--no-inference]
KnowledgeGraphGeneratorandVisualizer
options:
-h,--help        显示此帮助信息并退出
--test            生成测试数据的可视化
--config CONFIG   配置文件路径
--output OUTPUT   输出 HTML 文件路径
--input INPUT     输入的文本文件路径(如果不使用--test,则为必需)
--debug           启用调试输出(原始 LLM 响应和提取的 JSON)
--no-standardize  禁用实体标准化
--no-inference    禁用关系推断

示例运行

命令:
generate-graph --input data/industrial-revolution.txt --output industrial-revolution-kg.html
控制台输出:
Using input text from file: data/industrial-revolution.txt
==================================================
PHASE 1: INITIAL TRIPLE EXTRACTION
==================================================
Processing text in13 chunks (size:100 words, overlap:20 words)
Processing chunk 1/13(100 words)
Processing chunk 2/13(100 words)
Processing chunk 3/13(100 words)
Processing chunk 4/13(100 words)
Processing chunk 5/13(100 words)
Processing chunk 6/13(100 words)
Processing chunk 7/13(100 words)
Processing chunk 8/13(100 words)
Processing chunk 9/13(100 words)
Processing chunk 10/13(100 words)
Processing chunk 11/13(100 words)
Processing chunk 12/13(86 words)
Processing chunk 13/13(20 words)
Extracted a total of 216 triples from all chunks
==================================================
PHASE 2: ENTITY STANDARDIZATION
==================================================
Startingwith216 triples and201 unique entities
Standardizing entity names across all triples...
Applied LLM-based entity standardization for15 entity groups
Standardized201 entities into181 standard forms
After standardization:216 triples and160 unique entities
==================================================
PHASE 3: RELATIONSHIP INFERENCE
==================================================
Startingwith216 triples
Top5 relationship types before inference:
- enables:20 occurrences
- impacts:15 occurrences
- enabled:12 occurrences
- pioneered:10 occurrences
- invented:9 occurrences
Inferring additional relationships between entities...
Identified9 disconnected communities in the graph
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred3new relationships between communities
Inferred9new relationships within communities
Inferred2new relationships within communities
Inferred88 relationships based on lexical similarity
Added-22 inferred relationships
Top5 relationship types after inference:
- related to:65 occurrences
- advances via ArtificialIntelligence:36 occurrences
- pioneered via computing:26 occurrences
- enables via computing:24 occurrences
- enables:21 occurrences
Added370 inferred relationships
Final knowledge graph:564 triples
Saved raw knowledge graph data to /mnt/c/Users/rmcdermo/Documents/industrial-revolution-kg.json
Processing564 triples for visualization
Found161 unique nodes
Found355 inferred relationships
Detected9 communities usingLouvain method
NodesinNetworkX graph:161
EdgesinNetworkX graph:537
Knowledge graph visualization saved to /mnt/c/Users/rmcdermo/Documents/industrial-revolution-kg.html
GraphStatistics:{
"nodes":161,
"edges":564,
"original_edges":209,
"inferred_edges":355,
"communities":9
}
KnowledgeGraphStatistics:
Nodes:161
Edges:564
Communities:9
To view the visualization, open the following file in your browser:
file:///mnt/c/Users/rmcdermo/Documents/industrial-revolution-kg.html

六、工作原理

1. 文本切分

文档被切分成重叠的小块,以适应 LLM 的上下文窗口限制。

2. 第一阶段 - SPO 三元组提取

每个文本块由 LLM 处理,提取主语-谓语-宾语(SPO)三元组。
实现方式:process_with_llm 函数。LLM 在每个文本段落中识别实体及其关系。
所有文本块的结果汇总,形成初步的知识图谱。

3. 第二阶段 - 实体标准化

通过文本规范化进行基本的标准化。
可选的 LLM 协助实体对齐(通过配置项 standardization.use_llm_for_entities 控制)。
启用后,LLM 会审查图谱中的所有独立实体,识别出指代相同概念的实体组。
解决同一实体在不同文本块中出现不同表述(例如,“AI”、“人工智能”、“AI 系统”)的问题。
实体标准化有助于创建更具连贯性和易于导航的知识图谱。

4. 第三阶段 - 关系推断

自动推断传递性关系。
可选的 LLM 协助推断,用于连接图谱中不相连的部分(通过配置项 inference.use_llm_for_inference 控制)。
启用后,LLM 分析不同社区中的代表性实体,并推断可能的关系。
通过添加未在文本中明确表述的逻辑关系,减少图谱碎片化。
规则基础和 LLM 基础的推断方法共同作用,生成一个更为完整的知识图谱。

5. 可视化

使用 PyVis 库生成交互式 HTML 可视化图谱。
第二和第三阶段是可选的,可以通过配置文件禁用,以减少 LLM 的使用或手动控制这些过程。

七、可视化功能

颜色编码的社区: 节点的颜色表示不同的社区。
*节点大小 *: 节点大小根据重要性(如度数、介数中心性、特征向量中心性)进行调整。
*关系类型 *:
原始关系通过实线表示。
推断关系通过虚线表示。
交互式控制:
缩放、平移。
鼠标悬停显示详细信息。
过滤和物理控制。
*光模式和暗模式 *: 提供光模式(默认)和暗模式主题选择。

八、程序流程

此图展示了程序的工作流程。

九、程序流程描述

1. 入口点

程序从 main.py 开始,解析命令行参数。

2. 模式选择

如果提供了 --test 标志,程序会生成一个示例可视化。•否则,程序将处理输入的文本文件。

3. 配置加载

使用 config.pyconfig.toml 加载配置设置。

4. 文本处理

使用 text_utils.py 将文本切分成有重叠的小块。•处理每个文本块,使用 LLM 提取三元组。•使用来自 prompts.py 的提示词来引导 LLM 的提取过程。

5. 实体标准化 (可选)

标准化所有三元组中的实体名称。•在存在歧义的情况下,可以使用 LLM 进行实体解析。•使用来自 prompts.py 的专门提示词进行实体解析。

6. 关系推断 (可选)

识别图谱中的社区。•推断断开社区之间的关系。•应用传递性推断和词汇相似性规则。•使用来自 prompts.py 的专门提示词进行关系推断。•对三元组进行去重。

7. 可视化

计算中心性指标和社区检测。•根据重要性确定节点的大小和颜色。•使用 PyVis 创建交互式 HTML 可视化。•使用模板自定义 HTML。

8. 输出

将知识图谱保存为 HTML 和 JSON 文件。•显示关于节点、边和社区的统计信息。

希望对你知识图谱的构建有所帮助!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

以上全套大模型资料如何领取?

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值