{
 "schema_version": 1,
 "generated": "2026-11-01",
 "id": "getzep-graphiti--give-an-agent-temporal-memory-with-graphiti",
 "repo": "getzep/graphiti",
 "repo_url": "https://github.com/getzep/graphiti",
 "repo_slug": "getzep-graphiti",
 "title": "Give an agent memory that tracks how facts change",
 "page_title": "How to give an agent memory that tracks how facts change with Graphiti",
 "summary": "Store each conversation turn or record as an episode so the graph keeps what is true now and what was true before.",
 "who": "A developer whose assistant forgets or contradicts user preferences that change over time.",
 "problem": "Flat document chunks cannot tell an old fact from its replacement.",
 "outcome": "A context graph where superseded facts are invalidated, not deleted, and every fact traces back to its episode.",
 "steps": [
  "Install the library with `pip install graphiti-core` and set `OPENAI_API_KEY` in your environment",
  "Start a graph database with `docker compose up` for Neo4j, or `docker compose --profile falkordb up` for FalkorDB",
  "Follow the Quickstart Example to connect, build the indices and constraints, and add text and JSON episodes",
  "Query with hybrid search for relationships and rerank results by graph distance"
 ],
 "agent_prompt": "Using getzep/graphiti, install it with `pip install graphiti-core`, start Neo4j with `docker compose up`, ingest <my conversation log> as episodes, and show me one fact that was invalidated by a later episode.",
 "agents": [
  "claude-code",
  "codex",
  "cursor",
  "gemini-cli"
 ],
 "difficulty": "Advanced",
 "time": "2 hours",
 "basis": "readme",
 "caveat": "Graphiti works best with LLM services that support structured output; smaller models may cause ingestion failures.",
 "category": "Research",
 "tags": [
  "Research"
 ],
 "lang": "python",
 "requirements": [
  "Python 3.10 or higher; install with `pip install graphiti-core`",
  "A graph database: Neo4j 5.26, FalkorDB 1.1.2, Amazon Neptune, or Kuzu (deprecated)",
  "An OpenAI API key by default, or another provider such as Anthropic, Gemini, Groq or a local Ollama server"
 ],
 "risk": "none",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "privacy",
   "notice": "Episode content is sent to the configured LLM provider for extraction; use a local model for sensitive data."
  },
  {
   "tag": "cost",
   "notice": "Ingestion calls the LLM for every episode; the README sets SEMAPHORE_LIMIT to 10 by default to avoid 429 rate limit errors."
  }
 ],
 "best": true,
 "score": 1.0,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/getzep-graphiti/give-an-agent-temporal-memory-with-graphiti/",
 "md": "https://dedupedai.com/use-cases/getzep-graphiti/give-an-agent-temporal-memory-with-graphiti/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/getzep-graphiti--give-an-agent-temporal-memory-with-graphiti.json",
 "api_version": "v1"
}
