Skip to content

Graphiti

Zep's open-source framework for temporal knowledge graphs that track when facts became true and when they stopped being true.

Reviewed by Sheela · Updated

View on GitHub Open source

Our rating

4.3/5

For agents whose facts change over time, Graphiti is the open-source memory layer to beat, provided you will run a graph database and pay for LLM extraction on every write.

What it is

Graphiti builds a knowledge graph for AI agents from conversations, documents and structured data. Each fact (an edge between two entities) records when it became valid and, if it is later contradicted, when it was invalidated; old facts are kept, not deleted, and every fact traces back to the episode that produced it. That lets an agent ask what is true now and what was true at an earlier date.

New data is added incrementally, with no batch rebuild. Search combines embeddings, BM25 keyword matching and graph traversal. It runs on Neo4j, FalkorDB or Amazon Neptune (Kuzu support is deprecated because the upstream project is unmaintained), uses OpenAI by default and supports Anthropic, Gemini, Groq and any OpenAI-compatible endpoint. Reference MCP and REST servers are included.

Graphiti is the graph-construction framework inside Zep, a commercial context service that adds managed storage on its own Konig graph database, users and threads, dashboards and SLAs. Graphiti on its own is self-hosted only: you supply the database, LLM and embedder, and build tenancy and access control yourself.

Our review

Graphiti solves a problem plain vector memory gets wrong: facts that change. If a customer moves house or a policy is replaced, a vector store returns both versions; Graphiti marks the old fact invalid and keeps its history. The project is busy, with about 32,200 GitHub stars and v0.31.2 released on 20 October 2026.

The evidence is mostly vendor-reported. Zep's paper reports 94.8% against MemGPT's 93.4% on the Deep Memory Retrieval benchmark and accuracy gains of up to 18.5% on LongMemEval, with response latency cut by 90% against baseline implementations. Queries need no LLM call, which is why retrieval is fast; Zep's research page reports p95 retrieval of 162 ms on LongMemEval for its managed service, which is not the same as a self-hosted Graphiti install.

The costs sit at ingestion. Every episode goes through an LLM to extract entities and resolve duplicates, and the README warns that models without reliable structured output return the wrong schema and break ingestion, a problem that gets worse with small local models. Concurrency defaults to 10 operations (SEMAPHORE_LIMIT) to avoid provider 429 errors, so bulk loads are slow until you raise it.

Security needs attention before deployment. The reference MCP and REST servers have no authentication, so any caller can read, change or delete data in any group_id, and the example Compose files use default database credentials. A high-severity Cypher injection advisory, published in March 2026, was fixed in 0.28.2. Anonymous telemetry to PostHog is on by default and covers configuration choices, not graph content.

The tie to Zep is closer than earlier coverage suggested: the README now calls Graphiti the framework inside Zep, so the open-source route is the same engine without the storage, tenancy and tooling Zep charges for. That makes the build-or-buy sum fairly plain. Zep's Flex plan costs $125 a month for 50,000 credits at one credit per 350 bytes of episode, against running Neo4j or FalkorDB plus your own extraction calls.

Where it earns its place

  • A backend engineer building a support agent for a B2B SaaS with 5,000 customer accounts

    Remember account facts that change, such as plan, owner and open incidents

    Ingest tickets and CRM updates as episodes into Neo4j or FalkorDB; superseded facts are invalidated rather than deleted, so the agent can say what the plan was last quarter. Every episode costs LLM extraction calls; retrieval costs none.

  • A health-tech team whose patient data cannot leave its VPC

    Run agent memory entirely on its own infrastructure

    Point Graphiti at a local model through an OpenAI-compatible server such as vLLM or Ollama and a self-hosted FalkorDB, and switch telemetry off. Use the most capable local model available and keep concurrency low, because small models often break the extraction schema.

  • A product manager weighing build against buy for agent memory

    Price self-hosted Graphiti against Zep's managed service

    Zep's Free tier gives 10,000 credits a month and Flex $125 for 50,000, with HIPAA BAAs and BYOC on Enterprise only. Graphiti avoids the fee but leaves authentication, tenancy and operations to your team.

Before you commit

Setup
pip install graphiti-core (Python 3.10 or later) plus Neo4j 5.26 or FalkorDB 1.1.2, which starts with one docker run; OpenAI is the default LLM and embedder. The repo's Docker Compose brings up the database with the reference services.
Integrations
Neo4j, FalkorDB, Amazon Neptune (with OpenSearch Serverless for full-text search) and deprecated Kuzu; OpenAI, Azure OpenAI, Anthropic, Gemini, Groq and any OpenAI-compatible endpoint; reference MCP and FastAPI servers; a LangGraph guide.
Data and privacy
Graph data stays in your database, but episode text goes to the LLM and embedder you configure, and optional Jev dedupe routing sends dedupe prompts to TypeSafe. PostHog telemetry is on by default; set GRAPHITI_TELEMETRY_ENABLED=false. A high-severity Cypher injection was fixed in 0.28.2.
Cost at scale
No licence fee; you pay for the graph database and for extraction and deduplication calls on every episode, which dominate cost at volume. Zep's managed service starts at $125 a month for 50,000 credits, with $25 per extra 10,000.
Limits
Ingestion fails with models that don't honour structured output; default concurrency of 10 throttles bulk loads; the reference servers are not for production; 494 open issues and pull requests.

What's good

  • Tracks fact validity over time instead of overwriting
  • Incremental updates with no batch rebuild
  • No LLM call at query time
  • Choice of Neo4j, FalkorDB or Neptune and several model providers

What's not

  • LLM-heavy ingestion needs structured-output models
  • Reference MCP and REST servers have no authentication
  • Telemetry on by default
  • Benchmark results are vendor-reported

Best for

Teams building long-running agents that must remember changing facts about users, accounts or the world.

Alternatives

Graphiti: common questions

Is Graphiti worth it?
For agents whose facts change over time, Graphiti is the open-source memory layer to beat, provided you will run a graph database and pay for LLM extraction on every write. We rate it 4.3 out of 5.
How much does Graphiti cost?
Free and open source under Apache 2.0. You supply the graph database and pay for LLM and embedding calls during ingestion.
What are the downsides of Graphiti?
LLM-heavy ingestion needs structured-output models; reference MCP and REST servers have no authentication; telemetry on by default; benchmark results are vendor-reported.
Who is Graphiti best for?
Teams building long-running agents that must remember changing facts about users, accounts or the world.
How much does Graphiti cost for a team or in production?
No licence fee; you pay for the graph database and for extraction and deduplication calls on every episode, which dominate cost at volume. Zep's managed service starts at $125 a month for 50,000 credits, with $25 per extra 10,000.
Is Graphiti safe for company data?
Graph data stays in your database, but episode text goes to the LLM and embedder you configure, and optional Jev dedupe routing sends dedupe prompts to TypeSafe. PostHog telemetry is on by default; set GRAPHITI_TELEMETRY_ENABLED=false. A high-severity Cypher injection was fixed in 0.28.2.
What are the best Graphiti alternatives?
The closest alternatives we have reviewed are Mem0, Cognee, LightRAG and Neo4j.

Answers checked Oct 23, 2026.

Make Graphiti? Show this rating on your siteGraphiti rated 4.3 out of 5 on ReviewRamble