knowledge-graph-llms 完整指南:从环境搭建到生成第一个交互式知识图谱

📅 发布时间:2026/8/16 19:24:38
knowledge-graph-llms 完整指南:从环境搭建到生成第一个交互式知识图谱 knowledge-graph-llms 完整指南从环境搭建到生成第一个交互式知识图谱【免费下载链接】knowledge-graph-llmsIn this project, I explored how to extract knowledge graphs from text using LLMs, such as OpenAI GPT4o.项目地址: https://gitcode.com/gh_mirrors/kn/knowledge-graph-llms你是否有过这样的体验读了一篇长文章却很难记住其中的关键人物、事件与它们之间的关系今天要介绍的knowledge-graph-llms项目就是一款利用大语言模型LLM自动从文本中抽取实体与关系、并生成交互式知识图谱的开源工具。它基于 OpenAI GPT-4o 与 LangChain只需一段文本就能在几分钟内产出一张可以拖拽、缩放、筛选的可视化图谱。什么是 knowledge-graph-llms用 LLM 生成知识图谱的利器knowledge-graph-llms 是一个演示「如何用大语言模型从纯文本中提取知识图谱」的开源项目。它的核心思路非常简单把一段自然语言文本交给 GPT-4o让模型识别出其中的实体如人物、机构、地点以及它们之间的关系如「任职于」「出生于」最后把结果渲染成一张可交互的图谱。项目主要包含三个部分模块文件作用网页应用app.py基于 Streamlit 的交互界面提供上传与输入两种方式核心逻辑generate_knowledge_graph.py实体关系抽取 PyVis 图谱可视化教学笔记knowledge_graph.ipynb逐步演示完整抽取流程的 Jupyter Notebook核心功能一览 两种输入方式上传 .txt 文件或直接粘贴文本️ 自动抽取实体与关系构建知识图谱结构 交互式可视化拖拽节点、缩放视图、筛选节点与边⚙️ 支持自定义节点类型与关系类型适配不同业务场景技术原理GPT-4o 如何把文本变成知识图谱在深入操作之前先花一分钟了解它的工作原理。整个流程可以分为三步实体抽取Entity ExtractionLLM 从文本中识别出有意义的概念比如人名「Albert Einstein」、机构「University Of Zurich」、奖项「Nobel Prize In Physics」。关系抽取Relationship Extraction模型判断这些实体之间的语义关系例如「BORN_IN」出生于、「AWARDED」获得。图谱可视化Graph Visualization把节点与关系交给 PyVisvis.js 的 Python 接口生成带物理引擎的交互式网络图。其中最关键的是 LangChain 的LLMGraphTransformer它封装了「文本 → 图谱」的完整转换逻辑。在knowledge_graph.ipynb中可以看到它的每一步输出模型甚至能把爱因斯坦的生平段落自动拆解为 20 个实体与 19 条关系抽取精度相当惊人。环境搭建快速配置 knowledge-graph-llms 运行环境第一步克隆项目仓库在终端中执行以下命令将项目克隆到本地git clone https://gitcode.com/gh_mirrors/kn/knowledge-graph-llms cd knowledge-graph-llms第二步安装项目依赖项目依赖都写在requirements.txt中一行命令即可装齐pip install -r requirements.txt主要依赖包括langchain 与 langchain-experimentalLLM 框架与图谱转换工具langchain-openaiOpenAI 接口集成pyvis交互式图谱可视化streamlitWeb 界面框架python-dotenv读取 .env 环境变量第三步配置 OpenAI API Key在项目根目录新建.env文件填入你的 OpenAI API KeyOPENAI_API_KEY你的_api_key程序启动时会通过load_dotenv()自动读取该变量无需修改任何代码。运行交互式知识图谱应用最简单的一键启动方法环境就绪后在项目根目录执行streamlit run app.py浏览器会自动打开 Streamlit 界面默认地址 http://localhost:8501你会看到一个标题为「Knowledge Graph From Text」的页面。左侧边栏提供两种输入方式右侧则是图谱展示区域。生成第一个交互式知识图谱五步上手教程选择输入方式在左侧边栏选择「Upload txt」上传文本文件或选择「Input text」直接粘贴文本。输入内容建议先用一小段介绍人物或事件的文字试水比如一段爱因斯坦的生平简介。点击生成点击「Generate Knowledge Graph」按钮系统会调用 GPT-4o 抽取实体与关系通常只需等待几十秒。查看结果图谱生成成功后会在页面中展示所有节点与连线一目了然。自由探索拖拽节点调整布局、滚动滚轮缩放、悬停查看节点类型还可以通过筛选菜单只看关心的部分。 小技巧文本越长抽取时间越长也越容易产生更多实体。建议从 200~500 字的段落开始体验。进阶玩法定制知识图谱的节点与关系类型默认情况下模型会自由抽取所有实体类型。如果你希望图谱更贴合自己的业务可以通过LLMGraphTransformer限定抽取范围。例如只保留人物、机构、地点等五类节点allowed_nodes [Person, Organization, Location, Award, ResearchField] graph_transformer LLMGraphTransformer(llmllm, allowed_nodesallowed_nodes)更进一步还可以同时限定允许出现的关系类型让图谱结构更加规范。完整的示例代码与运行结果可以参考knowledge_graph.ipynb中的进阶章节。核心代码速览读懂这个知识图谱项目如果你有兴趣深入源码整个项目只有几个核心文件非常适合作为学习范例app.pyStreamlit 界面入口负责文件上传、文本输入与结果展示逻辑清晰易读。generate_knowledge_graph.py核心引擎extract_graph_data()负责异步抽取实体关系visualize_graph()负责构建与保存图谱最终输出knowledge_graph.html。knowledge_graph.ipynb面向学习的完整教程从安装依赖到限定节点类型每一步都有可运行代码与输出示例。knowledge_graph.html程序生成的图谱文件也可直接双击在浏览器中打开。常见问题与避坑指南❓提示 API Key 无效请检查.env文件是否位于项目根目录且变量名必须为OPENAI_API_KEY。❓生成速度很慢长文本会显著增加推理时间可先缩短文本再试。❓图谱节点过多通过allowed_nodes限定实体类型图谱会清爽很多。❓浏览器未自动打开手动访问 http://localhost:8501 即可。总结让 LLM 帮你快速构建知识图谱knowledge-graph-llms 用最简洁的代码把「LLM 实体关系抽取」与「交互式知识图谱可视化」串成了一条完整链路。无论你是想快速上手 LLM 应用开发还是需要为文本资料建立可视化知识网络它都是一个绝佳的起点。现在就去克隆项目生成你的第一张交互式知识图谱吧【免费下载链接】knowledge-graph-llmsIn this project, I explored how to extract knowledge graphs from text using LLMs, such as OpenAI GPT4o.项目地址: https://gitcode.com/gh_mirrors/kn/knowledge-graph-llms创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考