Turning document dumps into queryable Neo4j graphs
It exists because hand-coding knowledge graphs from PDFs and YouTube transcripts is nobody's idea of a good time.

What it does The application ingests unstructured files—PDFs, documents, text files, web pages, and even YouTube videos—then uses an LLM to extract entities, relationships, and properties, loading the results into Neo4j. You can point it at local storage, S3, GCS, or a web source, pick a model from a dropdown, and generate a graph you can visualize in Neo4j Bloom or query through a built-in chat interface. It is essentially an opinionated ETL pipeline where the transformer is a large language model.
The interesting bit The project treats schema definition as optional guidance rather than a rigid prerequisite: you can supply custom node and relationship labels or let the LLM improvise, then clean up the result with a dedicated post-processing model. It also tracks per-user token burn across multiple LLM providers and embedding models, which is the kind of operational detail most demos ignore until the bill arrives.
Key highlights
- Supports a wide roster of LLMs (OpenAI, Gemini, Anthropic, Groq, Bedrock, Ollama, and others), though several are only available in the development deployment.
- Chat modes mix vector search, graph traversal, fulltext, and hybrid combinations (
graph_vector,entity_vector, etc.) for question-answering over the ingested data. - Token usage tracking with daily and monthly limits per user and database connection, gated behind a
TRACK_USER_USAGEflag. - Embedding model selection (OpenAI, Gemini, Amazon Titan, Sentence Transformers) configurable from the frontend or locked via environment variables.
- Optional custom schema enforcement or fully LLM-driven extraction.
Caveats
- Several supported LLMs—including Anthropic, Groq, Bedrock, and Ollama—are marked as “dev deployed version,” so your mileage may vary in production.
- A Diffbot API key is listed as mandatory in the environment configuration, even if you plan to use other LLMs for extraction.
- Neo4j Desktop users must run the backend and frontend separately; the provided Docker Compose setup is not supported for that edition.
Verdict Best suited for teams drowning in documents who need a Neo4j-native RAG pipeline and are willing to wire up a few API keys. Less useful if your data is already structured or if you were hoping for a fully polished, model-agnostic SaaS experience.
Frequently asked
- What is neo4j-labs/llm-graph-builder?
- It exists because hand-coding knowledge graphs from PDFs and YouTube transcripts is nobody's idea of a good time.
- Is llm-graph-builder open source?
- Yes — neo4j-labs/llm-graph-builder is open source, released under the Apache-2.0 license.
- What language is llm-graph-builder written in?
- neo4j-labs/llm-graph-builder is primarily written in Jupyter Notebook.
- How popular is llm-graph-builder?
- neo4j-labs/llm-graph-builder has 5k stars on GitHub.
- Where can I find llm-graph-builder?
- neo4j-labs/llm-graph-builder is on GitHub at https://github.com/neo4j-labs/llm-graph-builder.