graphiti: what it is, what problem it solves & why it's gaining traction
graphiti: what it is, what problem it solves & why it's gaining traction
What it solves
Graphiti provides a way to build "temporal context graphs" for AI agents, solving the problem of static knowledge graphs and flat RAG (Retrieval-Augmented Generation) systems that cannot handle evolving data. It allows agents to track how facts change over time, maintain a history of what was true and when, and avoid the need to recompute the entire graph when new information arrives.
How it works
Graphiti autonomously builds a graph of entities, relationships, and facts from both structured and unstructured data. It uses "episodes" as the raw data source for provenance. Each fact in the graph is assigned a validity window (when it became true and when it was superseded), allowing for bi-temporal tracking. The system supports both prescribed ontologies (defined via Pydantic models) and learned ontologies where structure emerges from the data. Retrieval is handled via a hybrid approach combining semantic embeddings, keyword search (BM25), and graph traversal.
Who it’s for
It is designed for developers building interactive, context-aware AI agents that operate on real-world, frequently changing data and require precise historical queries.
Highlights
- Temporal Fact Management: Tracks validity windows for facts, invalidating old information without deleting it.
- Provenance: Every derived fact traces back to the original raw data "episodes."
- Incremental Construction: New data is integrated in real-time without requiring batch re-processing.
- Hybrid Retrieval: Combines semantic, keyword, and graph-based search for low-latency, high-precision context.
- Flexible Backends: Supports multiple graph databases including Neo4j, FalkorDB, and Amazon Neptune.
Sources
- undefinedgetzep/graphiti