GraphRAG और persistent contextual memory को अब AI chatbots में जोड़ा जा रहा है ताकि पेज रिफ्रेश करने या नया ब्राउज़र टैब खोलने पर भी बातचीत जारी रहे। डेवलपर्स का कहना है कि यह संयोजन उस "tab-kill" भूलने की समस्या को खत्म कर देता है जिससे अधिकांश conversational assistants के उपयोगकर्ता परेशान रहते हैं।
पुराना तरीका क्यों कम पड़ता है
अधिकांश चैट-आधारित AI सिस्टम मानक Retrieval-Augmented Generation (RAG) पर निर्भर करते हैं। यह पाइपलाइन वर्तमान प्रश्न से मिलते-जुलते टेक्स्ट अंशों (fragments) को निकालती है, उन्हें एक लैंग्वेज मॉडल को देती है, और उत्तर वापस करती है। किसी एकल तथ्य की खोज के लिए—"फ्रांस की राजधानी क्या है?"—यह तरीका अच्छी तरह काम करता है।
लेकिन RAG प्रत्येक यूजर इनपुट को एक अलग अनुरोध (isolated request) के रूप में मानता है। जब कोई फॉलो-अप कुछ मिनट पहले कही गई बात पर निर्भर करता है, तो मॉडल के पास उस संदर्भ (context) की कोई याददाश्त नहीं होती। इसका परिणाम एक ऐसा चैटबॉट होता है जो आपसे अपनी बात दोहराने के लिए कहता है या ऐसा उत्तर देता है जो पिछली बातों को नज़रअंदाज़ कर देता है। समस्या बुद्धिमत्ता की कमी नहीं है; यह 'स्टेट' (state) की कमी है।
GraphRAG: फ्लैट टेक्स्ट को एक नेटवर्क में बदलना
GraphRAG रिट्रीवल स्टेज (retrieval stage) को नया रूप देता है। असंबंधित टेक्स्ट चंक्स (chunks) की सूची के बजाय, यह एक ग्राफ बनाता है:
- Nodes लोगों, उत्पादों या घटनाओं जैसी संस्थाओं (entities) का प्रतिनिधित्व करते हैं।
- Edges उनके बीच के संबंधों को कैप्चर करते हैं—कौन क्या सप्लाई करता है, कौन सा प्रोजेक्ट किस घटक (component) पर निर्भर है, आदि।
क्योंकि ग्राफ कनेक्शन को एनकोड करता है, सिस्टम multi-hop reasoning कर सकता है: यह एक क्वेरी का उत्तर देने के लिए कई दस्तावेज़ों में तथ्यों की श्रृंखला का अनुसरण कर सकता है, जिसे एक फ्लैट-टेक्स्ट सर्च नहीं कर पाएगा। यह पूरे सब-ग्राफ (sub-graphs) का सारांश भी तैयार कर सकता है, जिससे उपयोगकर्ताओं को अलग-अलग अंशों के बजाय किसी विषय का संक्षिप्त अवलोकन (overview) मिलता है।
Contextual memory: बातचीत को याद रखना
Persistent contextual memory ग्राफ के ऊपर एक टेम्पोरल लेयर (temporal layer) जोड़ती है। यह तीन भागों में विभाजित है:
- Short-term memory वर्तमान बारी-बारी से होने वाली बातचीत (turn-by-turn dialogue) को बनाए रखती है, ताकि यूजर को कुछ वाक्य पहले कही गई बात को फिर से बताने की आवश्यकता न हो।
- Long-term memory विभिन्न सत्रों (sessions) में यूजर के बारे में चुनिंदा तथ्यों को रिकॉर्ड करती है—पसंदीदा भाषा, बार-बार होने वाली समस्याएं, या पिछली खरीदारी।
- Selective memory यह तय करती है कि क्या रखना है, और स्टोरेज को अनावश्यक रूप से भरने से बचाने के लिए फिलर शब्दों और अप्रासंगिक बातचीत को हटा देती है।
जब कोई यूजर टैब बंद करने के बाद वापस आता है, तो लॉन्ग-टर्म स्टोर प्रासंगिक बैकग्राउंड सामने ला सकता है, जिससे चैटबॉट वहीं से शुरू कर सकता है जहाँ पिछला सत्र समाप्त हुआ था।
कब किस टूल का उपयोग करें
- साधारण तथ्य जांच (fact checks) के लिए मानक RAG का उपयोग करें जहाँ कनेक्शन छूट जाने की लागत कम हो।
- GraphRAG को तब तैनात करें जब गलत उत्तर की लागत अधिक हो, या जब उत्तर के लिए कई दस्तावेज़ों में फैली जानकारी को जोड़ने की आवश्यकता हो।
- Contextual memory तब जोड़ें यदि एप्लिकेशन को लौटने वाले उपयोगकर्ताओं को पहचानना हो या दिनों या हफ्तों तक व्यक्तिगत संदर्भ बनाए रखना हो।
इन लेयर्स को बनाना कोई 'प्लग-एंड-प्ले' अभ्यास नहीं है। जैसे-जैसे सोर्स डेटा बदलता है, GraphRAG इंडेक्स को रिफ्रेश करना पड़ता है, और मेमोरी स्टोर को ऐसी नीतियों की आवश्यकता होती है जो प्रासंगिकता और स्टोरेज लागत के बीच संतुलन बनाए रखें। अत्यधिक रिटेंशन—बोले गए हर शब्द को स्टोर करना—रिट्रीवल को तेज़ी से धीमा कर देता है और मॉडल को शोर (noise) में डुबो देता है।
ट्रेड-ऑफ (The trade-off)
Contextual Memory भूलने की समस्या को हल करती है। इसका नुकसान परिचालन (operational) है: एक लाइव ग्राफ और एक सिलेक्टिव मेमोरी कैश को बनाए रखने के लिए निरंतर इंजीनियरिंग प्रयास की आवश्यकता होती है।
आगे क्या देखें
Takeaway: GraphRAG रिलेशनल बैकबोन (relational backbone) प्रदान करता है, जबकि persistent contextual memory टेम्पोरल ग्लू (temporal glue) प्रदान करती है। साथ मिलकर वे चैटबॉट्स को टैब और सत्रों के बीच बातचीत की निरंतरता बनाए रखने में सक्षम बनाते हैं, जिससे एक निराशाजनक रीसेट एक सहज बातचीत में बदल जाता है।
