Yes, Zep provides full multi-tenant isolation. All graphs—whether user graphs or standalone graphs—are completely isolated from each other with no shared state.
thread.get_user_context(), it retrieves context only from that user’s graph. Other users’ data is never accessible.user_id or graph_id in API calls.If you need to share context across users, you can create a standalone graph and query it explicitly. See our cookbook on sharing context across users.
Zep supports many millions of users per account and retrieval performance is not impacted by dataset size. Retrieving/searching the graph scales in near constant time with the size of the graph. Zep’s Metered Billing Plan is subject to rate limits on both API requests and processing concurrency.
Zep Community Edition, which allows you to host Zep locally, is deprecated and no longer supported. See our announcement post here.
The alternatives we offer include:
No, there is no limit on the number of graphs you can create.
No, there is no limit on the size of the graph.
See our detailed comparison: Zep vs Graphiti
We have official multilingual support on our roadmap, enabling the creation of graphs in a user’s own language. Currently, graphs are not explicitly created in the user’s language. However, Zep should work well today with any language, provided you’re using a multilingual LLM and your own prompts explicitly state that responses to the user should be in their language.
Yes - Zep offers a free tier. See Pricing for more information.
Zep can be used for retrieval for static documents just like RAG or GraphRAG, although this is not what Zep was designed for. Zep was designed for dynamic, changing data, which RAG and GraphRAG were not designed to do.
thread.get_user_context does a graph.search on nodes, edges, and episodes using the MMR reranker. It uses the most recent message as the search query. In addition, it does a BFS on the 4 most recent episodes (so it finds all nodes, edges, and episodes created by the 4 most recent episodes and all nodes and edges 2 connections deep).
All of those search results are then used as candidate results which are reranked by the MMR reranker. The MMR reranker will compare each search result with the most recent 4 messages to determine how relevant that result is to the current conversation.
The API URL for Zep Cloud is https://api.getzep.com. Note that you do not need to specify the API URL when using the Cloud SDKs.
If a service requests the Zep URL, it is possible it’s only compatible with the Zep Community Edition service.
You can use any combination of nodes, edges, and episodes. There is not a one size fits all solution, and you will likely need to experiment with different approaches to get the best performance for your use case.
In order to add messages for a group chat to a Zep Context Graph, you need to use the graph.add method with type = message as opposed to thread.add_messages (which uses graph.add with type = message under the hood). You need to use the graph.add method so that you are not associating the chat with a single user. Then, to retrieve context, you need to search the graph and assemble a custom context block (see cookbook example).
Yes, Zep can handle emojis directly. Send the emojis as-is in unicode strings—there’s no need to encode them. In fact, it’s preferable that they remain unencoded.
This is a normal and intended feature of Zep. Node summaries are intended to be standalone summaries of the node, which often means describing the relationships that that node has to other nodes. Those same relationships are likely to appear in the summaries of those other nodes.
Sometimes episodes may appear to not be processing when they are actually processing slowly. Typically, episodes process in less than 10 seconds, but occasionally they can take a few minutes. Additionally, if you add multiple episodes to a single graph simultaneously, they must process sequentially, which can take time if there are many episodes.
Please confirm the following:
The playground is not meant to work with custom data. Instead the playground showcases Zep’s functionality with demo data. In order to create a graph with your own custom data, you need to use the Zep SDKs. See our Quickstart.
You will need to delete your account and then accept the invitation from your company.
The Zep n8n integration is no longer supported. We recommend using Zep’s SDKs directly instead, see here.