Neo4j LLM 知识图谱构建器 - 从非结构化文本中提取节点和关系
Neo4j LLM 知识图谱构建器是一个在线应用程序,用于将非结构化文本转换为知识图谱,它提供了神奇的“文本到图谱”体验。
它利用机器学习模型(LLM - OpenAI、Gemini、Llama3、Diffbot、Claude、Qwen)来处理 PDF、文档、图像、网页和 YouTube 视频脚本。提取过程会将它们转换为包含文档和文本块(带有嵌入)的词汇图,以及包含节点及其关系的实体图,这两者都存储在您的 Neo4j 数据库中。您可以配置提取模式,并在提取后应用清理操作。
之后,您可以使用不同的 RAG(检索增强生成)方法(GraphRAG、Vector、Text2Cypher)来对您的数据进行提问,并查看提取的数据如何用于构建答案。
|
前端是一个 React 应用程序,后端是一个运行在 Google Cloud Run 上的 Python FastAPI 应用程序,但您也可以使用 docker compose 在本地部署。它使用了 Neo4j 为 LangChain 贡献的 llm-graph-transformer 模块以及其他 LangChain 集成(例如用于 GraphRAG 搜索)。
所有功能详见此处:功能文档
这是一个快速演示
分步说明
-
打开 LLM 知识图谱构建器
-
连接到一个 Neo4j (Aura) 实例
-
提供您的 PDF、文档、URL 或 S3/GCS 存储桶
-
使用选定的 LLM 构建图谱
-
在应用程序中可视化知识图谱
-
使用 GraphRAG 与您的数据聊天
-
打开 Neo4j Bloom 进行进一步的视觉探索
-
在您的应用程序中使用已构建的知识图谱
|
工作原理
-
上传的源文件在图谱中存储为
Document(文档)节点 -
每个文档(类型)都使用 LangChain 加载器进行加载
-
内容被拆分为文本块(Chunks)
-
文本块存储在图谱中,并与文档及彼此相连,以实现高级 RAG 模式
-
高度相似的文本块通过
SIMILAR关系连接,形成 kNN 图谱 -
计算嵌入(Embeddings)并存储在文本块和向量索引中
-
使用 llm-graph-transformer 或 diffbot-graph-transformer 从文本中提取实体和关系
-
实体和关系存储在图谱中,并与原始文本块相连
相关链接
在线应用程序 |
|
作者 |
Michael Hunger, Tomaz Bratanic, Niels De Jong, Morgan Senechal, Persistent Team |
社区支持 |
|
存储库 |
|
问题追踪 |
|
LangChain |
安装
LLM 知识图谱构建器应用程序可在线使用。
您也可以通过克隆 GitHub 仓库并按照 README.md 文件中的说明进行操作,在本地运行它。
它使用 Docker 来封装前端和后端,您可以运行 docker-compose up 来启动整个应用程序。
本地部署和配置详情请参阅本地部署文档

