explaingit

neo4j-labs/llm-graph-builder

4,675Jupyter NotebookAudience · dataComplexity · 4/5Setup · moderate

TLDR

A tool that converts PDFs, videos, web pages, and other documents into a queryable knowledge graph in Neo4j, using an LLM to automatically extract entities and relationships from unstructured text.

Mindmap

mindmap
  root((LLM Graph Builder))
    What it does
      Docs to knowledge graph
      Extract entities
      Store in Neo4j
    Input Sources
      PDF and Word files
      YouTube videos
      Web pages
      S3 and GCS buckets
    LLM Providers
      OpenAI and Anthropic
      Groq and Ollama
      Amazon Bedrock
    Output
      Chat interface
      Graph visualization
      Vector and graph search
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Convert a folder of PDFs into a knowledge graph in Neo4j and ask questions about them through a built-in chat interface.

USE CASE 2

Load a YouTube video transcript into a graph database to explore its concepts and relationships visually.

USE CASE 3

Build a retrieval-augmented Q&A system over your documents using graph traversal combined with vector search.

USE CASE 4

Ingest documents from S3 or Google Cloud Storage into a Neo4j knowledge graph using your preferred LLM provider.

Tech stack

PythonFastAPIReactNeo4jDocker

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires a running Neo4j database instance and at least one LLM provider API key.

In plain English

LLM Graph Builder is a tool that takes unstructured documents and converts them into a knowledge graph stored in a Neo4j graph database. You point it at a PDF, a Word document, a text file, a YouTube video, or a web page, and it uses a large language model to read the content, identify the entities and relationships in the text, and store those connections as a structured graph. The result is a network of linked concepts you can explore visually or query conversationally. The application consists of a Python and FastAPI backend and a React web frontend. You connect it to a Neo4j database, then upload source material from your local machine, an S3 bucket, Google Cloud Storage, or directly from the web. You choose which LLM provider you want to use, and the system runs the extraction. Supported providers include OpenAI, Gemini, Anthropic, Groq, Amazon Bedrock, and locally hosted models via Ollama. Once data is loaded into the graph, the application has a chat interface that lets you ask questions about it. There are several different retrieval modes available, including pure vector search, pure graph traversal, and combinations of both, so you can tune how answers are assembled from the stored knowledge. Additional features include token usage tracking per user and per database connection, configurable embedding models for generating vector representations of text, and graph visualization through Neo4j Bloom. Deployment can be done locally via Docker Compose or separately running the frontend and backend. The README also covers deploying both components to Google Cloud Run.

Copy-paste prompts

Prompt 1
Using LLM Graph Builder, help me convert a collection of research papers stored in S3 into a Neo4j knowledge graph and set up a chat interface to query them.
Prompt 2
How do I deploy LLM Graph Builder locally using Docker Compose and connect it to my existing Neo4j database with an OpenAI API key?
Prompt 3
Walk me through setting up LLM Graph Builder with Ollama so I can extract knowledge graphs from my documents without sending data to a cloud LLM provider.
Prompt 4
Help me configure LLM Graph Builder to use Anthropic Claude as the extraction model and set up graph visualization in Neo4j Bloom.
Prompt 5
How do I combine vector search and graph traversal retrieval modes in LLM Graph Builder to get better answers from my uploaded documents?
Open on GitHub → Explain another repo

← neo4j-labs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.