Graphiti
Temporal knowledge graphs for AI agents — facts that evolve over time, with provenance, not flat chunks.
About
Graphiti is Zep's framework for building and querying temporal knowledge graphs for AI agents, grounded in a real research paper (arXiv 2501.13956). Unlike static knowledge graphs or flat RAG chunks, Graphiti's context graphs track how facts change over time — what is true now versus what was true before — maintain provenance back to source data, and support both prescribed and learned ontologies. It continuously integrates user interactions and enterprise data into a queryable graph with incremental updates (no full recomputation) and hybrid retrieval across semantic, keyword, and graph traversal.
It is the engine behind Zep's own memory layer, Apache-2.0 licensed, and at 31,800+ stars one of the most-adopted agent-memory projects in existence. The honest framing: this is infrastructure for teams building stateful agents, not a drop-in chatbot memory — you need a graph database (Neo4j or similar), an LLM for extraction, and the willingness to model your domain as a graph. For agents that must remember not just facts but how facts changed, nothing else in the open-source set does this as deliberately.
What it can do
- Temporal knowledge graphs: facts versioned over time with full provenance
- Hybrid retrieval: semantic + keyword + graph traversal in one query
- Incremental updates without full graph recomputation
- Prescribed or learned ontologies for entities and relationships
- Backed by published research (arXiv 2501.13956)
- The engine behind Zep's agent memory layer
Setup
- Install:
pip install graphiti-core(Python 3.10+). - Stand up a graph database (Neo4j supported; see docs for options) and set your LLM provider key.
- Define your entity/edge ontology or let Graphiti learn it.
- Add episodes (interactions, documents) — Graphiti extracts entities and builds the temporal graph.
- Query across time, meaning, and relationships with hybrid retrieval.
Prerequisites
Python 3.10+; a graph database (e.g. Neo4j); an LLM provider key for entity extraction.
Use cases
Works with
Trust score — 9/10
Scored 9/10 (verified tier, metrics-v1). Evidence: 31,794 GitHub stars (GitHub API), Apache-2.0, pushed Oct 15 2026; the README documents the temporal-graph model, hybrid retrieval, and incremental updates; the arXiv paper (2501.13956) corroborates the research grounding. Strengths: research-backed, enormous adoption, the most deliberate open answer to agent memory over time. Docked for: (1) infrastructure commitment — graph DB plus extraction LLM; (2) you must model your domain as a graph. License: Apache-2.0.
★ 31,794 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.0/10
- Maintenance · recency, releases, issue load
- 9.0/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 9.0/10
- · Adoption 8: starScore from 31,794 stars on getzep/graphiti
- · Maintenance 9: pushed 2026-10-15 (recency 10); frequent releases (10); 478 open issues on 31.8k stars (issues 7)
- · Openness 10: Apache-2.0 (0.7*10) + official docs verified at graphiti.dev (0.3*10)
- · Manual 9: README documents the temporal-graph model, hybrid retrieval, and incremental updates; arXiv paper 2501.13956 corroborates the research grounding; docked for graph-DB infrastructure commitment
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.