Skip to main content
You’re using Zep and want to evaluate or move to Synap. This page covers how Zep stores memory, how its concepts map onto Synap, and how to backfill your existing sessions.
This page is the Zep-specific mapping. For the method every migration shares — scope mapping, configuring your instance, pilot, verify, cut over — see How migration works.

How Zep stores memory

Zep has Sessions (≈ conversations), Users, and an automatic Facts extraction over sessions. Multi-user is user_id; multi-tenant is loosely “Project.”
Zep API surfaces vary by version: Zep Cloud’s v2 renamed Sessions → Threads and restructured the Project surface. Check your installed zep_python (or zep-cloud) version against the names used below.

The mapping

Backfill from Zep

Differences worth noting

  • Zep stores the literal message log forever; Synap compacts it. If you rely on retrieving raw messages by ID, plan to keep your Zep log around for a transition period.
  • Zep has built-in evaluation via fact graphs; Synap does this differently: the entity graph is the equivalent and is queried by both fast and accurate retrieval. accurate additionally adds LLM subquery decomposition + reranking on top of the same vector + graph search.

Next

Follow the shared migration method to pilot one user, verify scope isolation, swap your retrieval call sites, and cut over.