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