Threads
Overview
Threads represent a conversation. Each User can have multiple threads, and each thread is a sequence of chat messages.
Chat messages are added to threads using thread.add_messages, which both adds those messages to the thread history and ingests those messages into the user-level knowledge graph. The user knowledge graph contains data from all of that userโs threads to create an integrated understanding of the user.
The knowledge graph does not separate the data from different threads, but integrates the data together to create a unified picture of the user. So the get thread user context endpoint and the associated thread.get_user_context method donโt return memory derived only from that thread, but instead return whatever user-level memory is most relevant to that thread, based on the threadโs most recent messages.
Adding a Thread
threadIds are arbitrary identifiers that you can map to relevant business objects in your app, such as users or a
conversation a user might have with your app. Before you create a thread, make sure you have created a user first. Then create a thread with:
Getting Messages of a Thread
Deleting a Thread
Deleting a thread deletes it and its associated messages. It does not however delete the associated data in the userโs knowledge graph. To remove data from the graph, see deleting data from the graph.
Listing Threads
You can list all Threads in the Zep Memory Store with page_size and page_number parameters for pagination.
Automatic Cache Warming
When you create a new thread, Zep automatically warms the cache for that userโs graph data in the background. This optimization improves query latency for graph operations on newly created threads by pre-loading the userโs data into the hot cache tier.
The warming operation runs asynchronously and does not block the thread creation response. No additional action is required on your partโthis happens automatically whenever you create a thread for a user with an existing graph.
For more information about Zepโs multi-tier caching architecture and manual cache warming, see Warming the User Cache.