set the title "How Hindsight Lets a Support Chat Continue Across Sessions
A support assistant that remembers a customer’s laptop model but forgets which conversation contained it is only halfway useful. I built RecallCare around a different boundary: conversation history belongs to a thread, while customer knowledge should follow the customer. That sounds like a storage choice. In practice, it changes retrieval, prompting, failure handling, and even what I show in the…
RecallCare is a support chat application that maintains a customer's conversation history separate from their personal information. The frontend is built with React, while the backend uses FastAPI. Hindsight, the long-term memory system, operates independently from the chat transcript. It retrieves relevant customer information across multiple conversations, while a bounded set of recent messages from the current conversation is passed to the response generator.
The backend query for recalling memories considers the current support question and additional context like customer details, devices, preferences, contact methods, reported issues, and previous interactions. A stable customer bank identifier is derived from the customer ID, which remains consistent across sessions, enabling Retrieval of relevant history even when starting a new conversation.
The Hindsight module is isolated from the rest of the codebase, simplifying the reasoning about which code manages external service connections and support workflow. Despite having long-term memory, RecallCare understands its role as complementary to the current thread context rather than a replacement. The recent 20 messages of the conversation are loaded chronologically, separately labeled as customer memories and current conversation context before being sent to the model.
This design ensures that the model uses the relevant memories while paying attention to the dates and newer information when conflicts arise. In case recall is unavailable, the chat endpoint gracefully handles the situation.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.