llm-graph-builder  by neo4j-labs

LLM app builds Neo4j graphs from unstructured data

created 1 year ago
3,764 stars

Top 13.2% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a Neo4j Knowledge Graph Builder that transforms unstructured data from various sources (PDFs, web pages, YouTube videos, etc.) into a structured graph using LLMs and the LangChain framework. It targets developers and data scientists looking to leverage LLMs for knowledge extraction and graph creation, offering features like custom schema support, graph visualization in Neo4j Bloom, and conversational querying of the generated graph.

How It Works

The application leverages LLMs to parse unstructured text, identify entities (nodes), relationships, and their properties, and then maps these to a Neo4j graph database. It supports multiple LLM providers (OpenAI, Gemini, Ollama, etc.) and data sources. Users can configure custom schemas or use default extraction settings. The system supports various chat modes, including vector-based retrieval, graph-augmented retrieval, and full-text search, allowing for interactive data exploration.

Quick Start & Requirements

  • Installation: Docker Compose is the recommended deployment method.
  • Prerequisites: Neo4j Database 5.23+ with APOC installed. Neo4j Aura databases are supported.
  • Configuration: Environment variables (.env files) are used to configure LLM models, input sources, Neo4j connection details, and API keys.
  • Resources: Requires a running Neo4j instance and API keys for chosen LLM providers.
  • Docs: Neo4j Workspace

Highlighted Details

  • Supports a wide range of LLM providers including OpenAI, Gemini, Ollama, and Anthropic.
  • Integrates with Neo4j Bloom for interactive graph visualization.
  • Offers conversational querying capabilities with metadata on response sources.
  • Allows configuration of custom schemas for graph generation.
  • Supports multiple data input sources: local files, GCS, S3, YouTube, Wikipedia, and web pages.

Maintenance & Community

  • Developed by Neo4j Labs.
  • Community support via GitHub Issues.

Licensing & Compatibility

  • The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

  • Some LLM integrations are marked as "dev deployed version," suggesting potential instability or incomplete features.
  • Running backend and frontend separately is required for Neo4j Desktop users, as docker-compose is not supported for this setup.
Health Check
Last commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
16
Issues (30d)
8
Star History
375 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.