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)
Basic Installation
Install Graphiti using your preferred package manager:- 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
- FalkorDB
- Kuzu
- Amazon Neptune
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:
- Create a new project
- Add a local DBMS
- Set a password
- Start the DBMS
3
Configure Connection
LLM Providers
Graphiti supports multiple LLM providers. OpenAI is the default and recommended option.- OpenAI
- Azure OpenAI
- Anthropic
- Google Gemini
- Ollama (Local)
- Groq
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 theSEMAPHORE_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)
- 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: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