पाठ 17 / 25

Chats के लिए Memory

Window memory जोड़ें ताकि chat संदर्भ रखे, और उसकी सीमाएँ समझें।

Model अपने आप कुछ याद नहीं रखता

हर model call स्वतंत्र है, इसलिए chat इसलिए "याद" रखती है कि पिछले messages फिर भेजे जाते हैं। Window Buffer Memory sub-node हर session ID के पिछले N messages रखता है और हर call में जोड़ता है। हर user या बातचीत के लिए अलग session ID रखें, वरना लोग एक-दूसरे का इतिहास देखेंगे। In-process memory restart पर खो जाती है, इसलिए production में persistent memory node (जैसे database-आधारित) उपयोग करें।

हर user के लिए session ID

Session ID किसी स्थिर और निजी चीज़ से लें, जैसे आपके system का user ID, user द्वारा बदले जा सकने वाले text से नहीं।

Window Buffer Memory
  Session ID : {{ $json.userId }}        (not a shared constant!)
  Window size: 10 messages

त्वरित जाँच: अगर सभी users एक ही memory session ID साझा करें तो क्या होगा?

  • कुछ नहीं बदलता
  • Model ज़्यादा बुद्धिमान हो जाता है
  • Users एक-दूसरे का बातचीत इतिहास देखते और मिलाते हैं
  • n8n तुरंत crash हो जाता है
Answer

Users एक-दूसरे का बातचीत इतिहास देखते और मिलाते हैं — Memory session ID से चलती है, इसलिए साझा ID users के बीच संदर्भ leak करती है।