explaingit

getzep/graphiti

📈 Trending26,198PythonAudience · developerComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Python library that gives AI agents a long-term memory using a knowledge graph that understands time, so agents remember what changed and when.

Mindmap

mindmap
  root((Graphiti))
    What it does
      Temporal knowledge graph
      Tracks fact changes
      Semantic search
    Memory layer
      Entities and relationships
      Time windows
      Current vs historical
    Use cases
      AI chatbots
      Personal assistants
      Evolving context
    Tech stack
      Python
      Neo4j
      Graph database

Things people build with this

USE CASE 1

Build an AI chatbot that remembers user preferences and how they change over time.

USE CASE 2

Create a personal assistant that tracks evolving context like schedule changes or relationship updates.

USE CASE 3

Store and query interconnected facts about entities with temporal validity windows.

Tech stack

PythonNeo4jGraph database

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Neo4j database instance to be running before using the library.

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

Graphiti is a Python library for giving AI agents a long-term memory that understands time. Instead of an AI agent that forgets everything between conversations, Graphiti stores facts as a knowledge graph, a web of interconnected pieces of information, where each fact is tagged with when it was true and when (if ever) it changed or was superseded. The practical problem it solves: if your AI assistant learns on Monday that "the user's favorite restaurant is Noodle House," and on Friday the user says "I stopped going to Noodle House," a naive system might still recommend it. Graphiti tracks these temporal changes, it knows what is true now versus what used to be true, making the agent's memory accurate over time rather than just a pile of accumulated text. Under the hood, it builds a graph database of entities (people, products, concepts), relationships between them, and the time windows during which each relationship was valid. When you query it, it combines semantic search (meaning-based), keyword search, and graph traversal to find the most relevant and current information quickly. For a vibe coder building an AI chatbot, personal assistant, or agent: if your users interact with your AI repeatedly over time and you want it to remember and reason about evolving context (their preferences, history, changing situations), Graphiti handles the memory layer. You connect it to Neo4j (a graph database) and integrate it into your agent with a few lines of Python. The commercial version is called Zep and handles scaling, deployment, and operations, Graphiti is the open-source core. Both are backed by research published on arXiv.

Copy-paste prompts

Prompt 1
Show me how to set up Graphiti with Neo4j to store facts about a user with timestamps.
Prompt 2
How do I query Graphiti to find what was true about a user at a specific point in time?
Prompt 3
Help me integrate Graphiti into a Python AI agent so it remembers conversation history with temporal awareness.
Prompt 4
What's the difference between semantic search and keyword search in Graphiti's query system?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.