Overview | Zep Documentation
Service

Overview | Zep Documentation

2025.08.10
·Web·by Anonymous
#Knowledge Graph#LLM#Graph Database#RAG#Temporal Data

Key Points

  • 1Graphiti is a platform for building and querying dynamic, temporally-aware knowledge graphs that represent evolving relationships between entities over time.
  • 2It uniquely handles constantly changing information through temporal awareness, episodic processing, and custom entity types, offering hybrid search capabilities for unstructured and structured data.
  • 3Designed for dynamic datasets, Graphiti enables advanced LLM applications like learning assistants and autonomous agents, providing superior scalability and real-time historical query capabilities compared to static graph solutions.

Graphiti is a sophisticated SDK designed for the creation and querying of dynamic, temporally-aware Knowledge Graphs that evolve over time. Unlike static knowledge bases, Graphiti autonomously constructs and maintains a network of interconnected facts, explicitly managing changing relationships and preserving historical context.

The core methodology of Graphiti is centered on representing knowledge as "triplets," each comprising two entities (nodes) and their relationship (edge). A triplet formally takes the structure (Subject, Predicate, Object)\text{(Subject, Predicate, Object)}, where 'Subject' and 'Object' are entities, and 'Predicate' defines the directed relationship between them (e.g., ("Kendra", "loves", "Adidas shoes")).

A key technical differentiator is Graphiti's Temporal Awareness. Each relationship (edge) within the graph includes explicit temporal metadata, recording its lifecycle and allowing for precise point-in-time queries. This enables the system to track the evolution of facts and relationships, maintaining a historical record. This contrasts with systems primarily designed for static documents, which often only support basic timestamping.

Graphiti employs an Episodic Processing approach for data ingestion. Information is processed as discrete "episodes," which ensures data provenance and facilitates the incremental extraction of new entities and relationships as events unfold. This continuous, incremental update mechanism is crucial for dynamic datasets. Furthermore, it supports the definition of Custom Entity Types, allowing users to tailor the knowledge representation to specific domain requirements, enhancing precision.

For data retrieval, Graphiti offers a Hybrid Search capability, combining semantic search with BM25 full-text search. Query results can be re-ranked based on their graph-theoretic distance from a central entity (e.g., "Kendra"), providing contextually relevant results. The system is engineered for Scalability, capable of processing large datasets efficiently through parallelization of LLM calls while strictly preserving the chronological order of events. It supports the ingestion of both unstructured text and structured JSON data.

Graphiti powers the core context layer for LLM-driven applications, facilitating use cases such as:

  • Intelligent assistants that learn from user interactions, integrating personal knowledge with dynamic business data.
  • Autonomous agents that execute complex tasks by reasoning over state changes from multiple dynamic sources.

Graphiti's design addresses critical limitations found in systems like Microsoft's GraphRAG. While GraphRAG focuses on static document summarization and batch-oriented processing, Graphiti is built for dynamic data management. Its explicit bi-temporal tracking and episodic data processing allow for continuous updates and precise historical queries. Contradictions within the knowledge base are handled through temporal edge invalidation, ensuring data consistency over time, rather than relying solely on LLM-driven summarization judgments. This results in typically sub-second query latency, compared to the seconds to tens of seconds often seen in less dynamic systems, making it highly suitable for applications requiring real-time interaction and precise historical context.