Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents
by Zep
Give your agent memory that invalidates stale facts instead of piling them up.
Overview
Graphiti is Zep's open-source Python framework for building temporal knowledge graphs — it calls them Context Graphs — that give agents long-term, queryable memory instead of a growing pile of chat transcripts. The documentation opens with an overview and quick start, then a Configuration section covering the LLM provider (OpenAI by default, plus Anthropic, Google Gemini, Groq and OpenAI-compatible endpoints) and each supported graph store: Neo4j 5.26, FalkorDB 1.1.2, Amazon Neptune with OpenSearch Serverless, and Kuzu, which is documented but deprecated. Core Concepts covers Adding Episodes — data enters as discrete episodes of text or JSON so provenance and chronology survive — plus Custom Entity and Edge Types for domain ontologies, Communities, and Graph Namespacing via group_ids for multi-tenant isolation. Working with Data covers Searching the Graph, CRUD on nodes and edges, and adding fact triples directly, and there is a guide to using Graphiti as the memory layer inside a LangGraph agent. The distinguishing idea is the bi-temporal model: every edge records both when a fact was true and when Graphiti learned it (t_valid and t_invalid), so contradicting information invalidates an old edge rather than overwriting it, and you can ask what the graph believed at a point in time. Retrieval is hybrid — semantic, full-text and graph traversal — with no LLM in the reranking loop, which is how it targets sub-second latency where batch GraphRAG pipelines take seconds. Apache-2.0, Python 3.10+, ~29.6k GitHub stars, with an MCP server and a FastAPI REST service in-tree.
At a Glance
- Topic
- Agentic
- Level
- Intermediate
- Format
- Documentation
- Cost
- Free
- Duration
- ~3-4 hours for the quick start plus core concepts; ongoing reference after that
- Provider
- Zep
- Hands-on
- Yes — code/exercises
- Certificate
- None
What You’ll Learn
- ✓Model agent memory as a bi-temporal graph of entities, edges and episodes
- ✓Ingest unstructured chat and structured JSON as provenance-preserving episodes
- ✓Define custom entity and edge types to encode a domain-specific ontology
- ✓Run hybrid semantic, full-text and graph search without an LLM reranking loop
- ✓Isolate tenants or individual users with group_id graph namespacing
- ✓Configure Neo4j, FalkorDB or Amazon Neptune as the backing graph store
- ✓Expose your graph to Claude Code or Cursor through the bundled MCP server
- ✓Wire Graphiti into a LangGraph agent as its persistent memory layer
Highlights
- •The bi-temporal model is the real differentiator: contradicting facts invalidate old edges instead of overwriting them, so history stays queryable
- •The docs include an explicit Graphiti-versus-GraphRAG comparison table — incremental and sub-second against batch and seconds-scale — rather than leaving you to infer it
- •Backed by a published paper (arXiv 2501.13956) reporting 94.8% on Deep Memory Retrieval against MemGPT's 93.4%, and large latency reductions on LongMemEval
- •Ships an MCP server and a FastAPI service in the same repo, so you can try it from an MCP client before writing any integration code
- •States its own caveats up front: Graphiti needs an LLM with reliable structured output, and the sub-200ms figures describe Zep's managed platform, not your own deployment
- •Moving fast and visibly rough at the edges — roughly 271 open issues against 936 commits, so expect to read source for uncommon paths
Who It’s For
Best For
- ✓Engineers building agents that must remember users and decisions across sessions
- ✓Teams whose knowledge base changes constantly and where stale facts cause real errors
- ✓RAG developers hitting the limits of chunk-and-embed retrieval on relational questions
- ✓Anyone evaluating agent memory options against Mem0, Letta or a plain vector store
Prerequisites
- •Solid Python 3.10+ including async/await
- •A running graph database (Neo4j, FalkorDB or Amazon Neptune) plus an LLM API key
- •Basic graph vocabulary: nodes, edges, triplets and traversal
FAQ
What is Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents?
Graphiti's documentation is the reference for Zep's open-source temporal knowledge graph framework, which gives AI agents memory that updates rather than accumulates. It is aimed at Python engineers building assistants that must recall facts about users and a changing business over months. After working through it you can ingest conversations and JSON as episodes, define a domain ontology, query the graph with hybrid search, and answer questions about what was true at a given point in time.
Is Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents free?
Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents is free to access.
What level is Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents for?
Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents is aimed at a intermediate audience. Recommended background: Solid Python 3.10+ including async/await, A running graph database (Neo4j, FalkorDB or Amazon Neptune) plus an LLM API key, Basic graph vocabulary: nodes, edges, triplets and traversal.
How long does Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents take?
Expect roughly ~3-4 hours for the quick start plus core concepts; ongoing reference after that. Most learners work through it at their own pace.
What will I learn from Graphiti Documentation — Temporal Knowledge Graph Memory for AI Agents?
You'll learn: Model agent memory as a bi-temporal graph of entities, edges and episodes; Ingest unstructured chat and structured JSON as provenance-preserving episodes; Define custom entity and edge types to encode a domain-specific ontology; Run hybrid semantic, full-text and graph search without an LLM reranking loop; Isolate tenants or individual users with group_id graph namespacing; Configure Neo4j, FalkorDB or Amazon Neptune as the backing graph store; Expose your graph to Claude Code or Cursor through the bundled MCP server; Wire Graphiti into a LangGraph agent as its persistent memory layer.
Topics
Sources
This page was written from 4 sources, 2 on domains other than help.getzep.com.