Skip to main content

Requirements

Before installing Graphiti, ensure you have:
  • Python 3.10 or higher
  • A graph database (one of the following):
    • Neo4j 5.26+
    • FalkorDB 1.1.2+
    • Kuzu 0.11.2+
    • Amazon Neptune Database Cluster or Neptune Analytics Graph
  • An LLM provider API key (OpenAI recommended)
Graphiti works best with LLM services that support Structured Output (such as OpenAI and Gemini). Using other services may result in incorrect output schemas and ingestion failures, particularly with smaller models.

Basic Installation

Install Graphiti using your preferred package manager:
The basic installation includes:
  • Neo4j driver support (default)
  • OpenAI LLM and embedding support
  • Core dependencies (Pydantic, tenacity, numpy)

Graph Database Backends

Graphiti supports multiple graph database backends through optional dependencies.
Neo4j is the default backend and is included in the basic installation.

Setup

1

Install Neo4j Desktop

Download and install Neo4j Desktop for a user-friendly interface to manage Neo4j instances.
2

Create a Database

In Neo4j Desktop:
  1. Create a new project
  2. Add a local DBMS
  3. Set a password
  4. Start the DBMS
3

Configure Connection

Neo4j Desktop provides a browser interface at http://localhost:7474 for visualizing your knowledge graph.

LLM Providers

Graphiti supports multiple LLM providers. OpenAI is the default and recommended option.
OpenAI is included in the basic installation and is the default LLM provider.

Setup

Graphiti defaults to using gpt-4o-mini for inference and text-embedding-3-small for embeddings.

Optional Dependencies

Graphiti offers several optional dependencies for extended functionality:

Voyage AI Embeddings

Use Voyage AI for state-of-the-art embeddings:

Sentence Transformers

Use local embedding models:

OpenTelemetry Tracing

Enable distributed tracing for observability:

Multiple Extras

Install multiple optional dependencies at once:

Performance Tuning

Concurrency Control

Graphiti’s ingestion pipelines support high concurrency. Control this with the SEMAPHORE_LIMIT environment variable:
By default, SEMAPHORE_LIMIT is set to 10 to help prevent 429 rate limit errors from your LLM provider. Increase this value if your provider supports higher throughput.

Environment Variables

Common environment variables for Graphiti:
.env

Telemetry

Graphiti collects anonymous usage statistics to improve the framework. This includes:
  • System information (OS, Python version)
  • Graphiti version
  • Provider choices (LLM, database, embedder)
Data NOT collected:
  • Personal information or identifiers
  • API keys or credentials
  • Your data, queries, or graph content
  • IP addresses or hostnames

Disable Telemetry

To opt out of telemetry:
Or in your Python code:
Telemetry is automatically disabled during test runs when pytest is detected.

Verify Installation

Verify your installation with this simple script:
verify.py

Next Steps

Quickstart

Build your first knowledge graph

Core Concepts

Learn about episodes, nodes, and edges

Search Guide

Master hybrid search and reranking

Examples

Explore example projects