LLM Graph Builder - Construct Knowledge Graphs from Unstructured Text (PDF, YouTube, Webpages)
The LLM Graph Builder is a demo application for turning unstructured text into a knowledge graph, it provides a magical text to graph experience.
It uses ML models (LLM, Diffbot) to transform PDFs, web pages, and YouTube videos into a graph of entities and their relationships.
The frontend is a React Application and the backend a Python FastAPI application. It uses the llm-graph-transformer module that we contributed to LangChain.
Functionality Includes
-
Connect to a Neo4j (Aura) instance
-
Provide your PDF files, Youtube URLs, Wikipedia Keywords or S3/GCS buckets
-
Construct Graph with LLM / Diffbot
-
Visualize Knowledge Graph in App
-
Chat with your data with GraphRAG
-
Open Neo4j Bloom for further visual exploration
-
Use the constructed knowledge graph in your applications
How it works
-
Uploaded Sources are stored as
Document
nodes in the graph -
Each document (type) is loaded with the LangChain Loaders
-
The content is split into Chunks
-
Chunks are stored in the graph and connected to the Document and to each other for advanced RAG patterns
-
Highly similar Chunks are connected with a
SIMILAR
relationship to form a kNN Graph -
Embeddings are computed and stored in the Chunks and Vector index
-
Using the llm-graph-transformer or diffbot-graph-transformer entities and relationships are extracted from the text
-
Entities are stored in the graph and connected to the originating Chunks
Relevant Links
Public Demo |
|
Authors |
Michael Hunger, Tomaz Bratanic, Niels De Jong, Morgan Senechal, Persistent Team |
Community Support |
|
Code Repository |
|
Issues |
Installation
The Demo is available online, configured for OpenAI GPT and for Google Gemini on Vertex AI
You can also run it locally, by cloning the repository and following the instructions in the README.md file.
It is using Docker for packaging frontend and backend, and you can run docker-compose up
to start the whole application.