लोग RAG के लिए शोक संदेश लिख रहे हैं। आपने अब तक सुर्खियां देख ली होंगी। लंबे कॉन्टेक्स्ट विंडो ने इसे खत्म कर दिया। एजेंटों ने इसकी जगह ले ली। पूरा पैटर्न ही अप्रचलित हो गया है। सच्चाई इससे कहीं अधिक संकीर्ण और बहुत अधिक उपयोगी है। RAG मरा नहीं है। वास्तव में जो ढह गया, वह यह आरामदायक भ्रम था कि आप दस्तावेजों के ढेर को चंक्स (chunks) में विभाजित कर सकते हैं, उन्हें एक वेक्टर डेटाबेस में डाल सकते हैं, और अचानक एक विश्वसनीय, सत्यनिष्ठ AI के मालिक बन सकते हैं।

कुछ साल पहले, इसका प्रस्ताव अपनी सादगी में बहुत लुभावना था। अपने नॉलेज बेस को एम्बेड करें। इसे एक LLM से जोड़ें। एक प्रश्न पूछें, और मॉडल को केवल आपके द्वारा प्राप्त डेटा का उपयोग करके उत्तर देते हुए देखें। नियंत्रित डेमो और छोटे FAQ बॉट्स के लिए, यह ईमानदारी से काम करता था। बीस पन्नों का एक हेल्प डेस्क मैनुअल। एक व्यवस्थित आंतरिक विकी। बॉट कमोबेश सही पैराग्राफ का हवाला देता, और नेतृत्व पायलट प्रोजेक्ट को मंजूरी दे देता। लेकिन पायलट, प्रोडक्शन नहीं होते। प्रोटोटाइप में वास्तविक व्यावसायिक संचालन के अनुभव (scars) नहीं होते।

प्रोडक्शन डेटा अव्यवस्थित होता है। इसमें एक ही ट्रबलशूटिंग नोट दर्जनों फाइलों में कॉपी किया हुआ हो सकता है, जिनमें से प्रत्येक में थोड़े अलग टाइमस्टैम्प और विरोधाभासी स्टेटस लेबल होते हैं। इसमें जटिल टेबल होती हैं जो पन्नों के आर-पार फैली होती हैं, और जब कोई स्प्लिटर (splitter) उन्हें बीच से काट देता है, तो वे निरर्थक जानकारी देने लगती हैं। यह बिना किसी माफी के विरोधाभासों को बनाए रखता है। 2023 की पॉलिसी मैनुअल कुछ कहती है। मार्च 2024 का संशोधन कुछ और कहता है। पुराने PDF को कभी आर्काइव नहीं किया गया। चंक, स्टोर और रिट्रीव (chunk, store, and retrieve) का नैव पैटर्न हर पैराग्राफ को एक अलग द्वीप की तरह मानता है। इसमें पदानुक्रम (hierarchy), वर्जन हिस्ट्री या संघर्ष समाधान (conflict resolution) की समझ नहीं होती। मॉडल हैलुसिनेशन (hallucinate) इसलिए नहीं करता क्योंकि LLM खराब है, बल्कि इसलिए करता है क्योंकि उसे जो कॉन्टेक्स्ट मिला वह खंडित, अनाथ या पूरी तरह से गलत था।

कुछ पर्यवेक्षकों का दावा है कि मिलियन-टोकन कॉन्टेक्स्ट विंडो रिट्रीवल को अप्रासंगिक बना देती हैं। उनका तर्क सीधा है। बस पूरे कॉर्पस को प्रॉम्प्ट में डाल दें और मॉडल को सब कुछ पढ़ने दें। यह सुनने में शानदार लगता है। यह खतरनाक रूप से आशावादी भी है। एक मॉडल तकनीकी रूप से एक लघु उपन्यास के बराबर टेक्स्ट को ग्रहण करने में सक्षम हो सकता है, फिर भी उस विस्तार के बीच में एक विशिष्ट क्लॉज (clause) को खोजना पूरी तरह से अलग क्षमता है। भूसे के ढेर में सुई खोई रहती है। लंबे कॉन्टेक्स्ट विंडो उपलब्ध कैनवास का विस्तार करते हैं, लेकिन वे यह तय करने का कठिन काम हल नहीं करते कि उस कैनवास पर क्या जगह पाने के लायक है। समस्या कभी भी केवल रिट्रीवल नहीं थी। यह हमेशा से 'कॉन्टेक्स्ट असेंबली' (context assembly) रही है।

नैव रिट्रीवल से कॉन्टेक्स्ट इंजीनियरिंग तक

2026 में, यह क्षेत्र परिपक्व हो रहा है। हम उस चरण से आगे बढ़ रहे हैं जहाँ RAG को एक एकल लीनियर पाइपलाइन के रूप में माना जाता था, और एक ऐसे आर्किटेक्चर की ओर बढ़ रहे हैं जो कॉन्टेक्स्ट को एक जानबूझकर इंजीनियर किए गए उत्पाद के रूप में मानता है।

शुद्ध सिमेंटिक्स के बजाय हाइब्रिड सर्च। सिमेंटिक समानता इरादे (intent) को समझने के लिए उत्कृष्ट है, लेकिन यह सटीक पहचानकर्ताओं (identifiers) के मामले में ढीली है। यदि कोई इंजीनियर ERR_CONNECTION_REFUSED जैसा विशिष्ट एरर कोड या v3.2.1 जैसा सॉफ्टवेयर वर्जन क्वेरी करता है, तो शुद्ध वेक्टर सर्च वैचारिक रूप से समान लेकिन व्यावहारिक रूप से अप्रासंगिक परिणामों के समुद्र में सटीक मिलान को कम कर सकता है। यहाँ विकास सीधा है। आधुनिक सिस्टम एम्बेडिंग्स के साथ BM25 या इन्वर्टेड इंडेक्स जैसी विधियों का उपयोग करते हुए, कीवर्ड सर्च के साथ डेंस वेक्टर रिट्रीवल को जोड़ते हैं। सटीक नाम, एरर कोड, वर्जन स्ट्रिंग्स और प्रोडक्ट आईडी कीवर्ड लेयर द्वारा पकड़ लिए जाते हैं, जबकि वैचारिक बारीकियों को वेक्टर लेयर द्वारा संभाला जाता है।

जेनरेशन से पहले रीरैंकिंग। रिट्रीवल स्वाभाविक रूप से रिकॉल (recall) की ओर झुका होता है। आप चालीस या पचास चंक्स इसलिए निकालते हैं क्योंकि आप उस एक महत्वपूर्ण पैराग्राफ को चूक जाने से डरते हैं। लेकिन उस पूरे शोर (noise) को एक बड़े मॉडल में डालने से टोकन बर्बाद होते हैं और महत्वपूर्ण संकेत (signal) दब जाता है। रीरैंकिंग इसे एक दूसरे, आमतौर पर छोटे मॉडल के साथ हल करती है जो विशिष्ट क्वेरी के विरुद्ध प्रत्येक उम्मीदवार को प्रासंगिकता के लिए स्कोर देता है। शीर्ष पांच पैसेज आगे बढ़ते हैं। बाकी को हटा दिया जाता है। यह रिट्रीवल और जेनरेशन के बीच एक प्रिसिजन फ़िल्टर के रूप में कार्य करता है, यह सुनिश्चित करता है कि महंगा रीजनिंग मॉडल केवल वही पढ़े जो वास्तव में मायने रखता है।

कॉन्टेक्स्टुअल रिट्रीवल जो अर्थ को सुरक्षित रखता है। चंकिंग एक हिंसक कार्य है। एक स्प्लिटर किसी पैराग्राफ को उसके सेक्शन हेडर, उसके टेबल कैप्शन, उसके आस-पास के कानूनी डिस्क्लेमर, या उस फुटनोट से अलग कर सकता है जो उसके अर्थ को बदल देता है। कॉन्टेक्स्टुअल रिट्रीवल इसे मॉडल तक पहुँचने से पहले ही अंशों (fragments) को समृद्ध करके कम करता है। आप स्रोत (provenance) दर्शाने वाला मेटाडेटा जोड़ते हैं: यह अंश Q3 2024 की घटना रिपोर्ट, डेटाबेस आउटेज सेक्शन, गंभीरता क्रिटिकल से संबंधित है। मॉडल केवल एक तैरता हुआ वाक्य नहीं देखता, बल्कि एक संदर्भ में स्थित जानकारी देखता है। अंश को अपना संदर्भ वापस मिल जाता है।

इरादे (intent) के आधार पर मॉड्यूलर रूटिंग। हर सवाल दस्तावेज़ों से भरे वेक्टर स्टोर में नहीं होना चाहिए। पासवर्ड रीसेट करने का तरीका पूछने वाले उपयोगकर्ता को शायद एक हेल्प आर्टिकल की ज़रूरत है। पिछले क्वार्टर में उत्तर-पूर्व में राजस्व क्यों गिरा, यह पूछने वाले उपयोगकर्ता को डेटा वेयरहाउस पर SQL की आवश्यकता है, न कि क्षेत्रीय बिक्री रणनीति के बारे में किसी अर्थगत रूप से समान (semantically similar) पैराग्राफ की। परिपक्व सिस्टम अब इरादे (intent) के आधार पर क्वेरी को रूट करते हैं, और उपयुक्त टूल का चयन करते हैं। प्रक्रिया के लिए डॉक्यूमेंटेशन। स्ट्रक्चर्ड एनालिटिक्स के लिए रिलेशनल डेटाबेस। ट्रेस डिबगिंग के लिए लॉग एग्रीगेटर्स। लाइव स्टेटस के लिए APIs। रिट्रीवल लेयर एक डिस्पैचर बन जाती है, न कि एक मोनोकल्चर।

एजेंटिक रीजनिंग लूप्स। कुछ सवालों का जवाब एक सिंगल सर्च स्टेप से नहीं दिया जा सकता। उन्हें रीफॉर्मुलेशन (reformulation) की आवश्यकता होती है। एक अस्पष्ट शुरुआती क्वेरी को स्पष्ट किया जाता है। प्राप्त दावों को दूसरे स्रोत के साथ क्रॉस-चेक किया जाता है। यदि डॉक्यूमेंटेशन, API स्पेसिफिकेशन के विपरीत है, तो सिस्टम बीच का रास्ता निकालने के बजाय संघर्ष (conflict) को फ्लैग कर देता है। मॉडल तय करता है कि कब फिर से सर्च करना है, कब अपनी क्वेरी को रिफाइन करना है, और कब उसके पास उत्तर देने के लिए पर्याप्त सबूत जमा हो गए हैं। यह वन-शॉट रिट्रीवल नहीं है। यह स्ट्रक्चर्ड रीजनिंग है जो सर्च का उपयोग एक सबरूटीन के रूप में करती है।

रिलेशनल सवालों के लिए GraphRAG। कुछ व्यावसायिक सवाल कनेक्शन के बारे में होते हैं, वाक्यों के बारे में नहीं। किस कंपोनेंट फेलियर ने किस डाउनस्ट्रीम अलर्ट को ट्रिगर किया? कौन सा सप्लायर किस फैक्ट्री को आपूर्ति करता है, और वैकल्पिक मार्ग क्या है? संगठन में इस विशिष्ट बजट लाइन पर निर्णय लेने का अधिकार किसके पास है? फ्लैट टेक्स्ट चंक्स इन संबंधों को सपाट कर देते हैं क्योंकि उन्हें टोपोलॉजी बनाए रखने के लिए डिज़ाइन नहीं किया गया था। नॉलेज ग्राफ्स ऐसा करते हैं। जब सवाल प्रभाव, लाइनिएज, पैटर्न या नेटवर्क स्ट्रक्चर के बारे में हो, तो ग्राफ को ट्रैवर्स करने से ऐसा संदर्भ मिलता है जिसकी पैराग्राफ रिट्रीवल के माध्यम से नकल नहीं की जा सकती।

वे सवाल जो वास्तव में मायने रखते हैं

RAG के इर्द-गिर्द होने वाली बातचीत को बदलने की जरूरत है। यह पूछना बंद करें कि एक जेनेरिक RAG पाइपलाइन कैसे बनाई जाए। यह पूछना शुरू करें कि मॉडल को कौन सा विशिष्ट कार्य हल करना चाहिए, सटीक होने के लिए उसे किस सटीक डेटा की आवश्यकता है, और आप यह कैसे सत्यापित करते हैं कि एकत्रित संदर्भ पर्याप्त है। ये सवाल आपको डेटा क्वालिटी, स्कीमा डिज़ाइन, वेरिफिकेशन लूप्स और सोर्स प्रोवेनेंस (source provenance) जैसे अपस्ट्रीम पहलुओं पर ध्यान केंद्रित करने के लिए मजबूर करते हैं। वे यह उजागर करते हैं कि क्या आपका नॉलेज बेस स्वचालित उपभोग के लिए उपयुक्त भी है या नहीं।

RAG अब कोई एकल रैखिक प्रक्रिया नहीं है जिसे आप एक बार इंस्टॉल करें और भूल जाएं। यह सही संदर्भ को इकट्ठा करने का एक अनुशासन है ताकि मॉडल प्रभावी ढंग से तर्क (reason) कर सके। इसका मतलब है रिट्रीवल को एक सिस्टम डिज़ाइन समस्या के रूप में देखना, न कि केवल एक लाइब्रेरी इम्पोर्ट के रूप में।

टूल्स और भी बेहतर होते जा रहे हैं। सर्च हाइब्रिड है। रूटिंग इंटेलिजेंट है। रिट्रीवल को रैंक किया जाता है, एनरिच किया जाता है और सत्यापित किया जाता है। 2022 के सरल भ्रमों को ढहना पड़ा ताकि उनकी जगह कुछ वास्तव में उपयोगी चीज़ ले सके। आपका काम अब केवल डेटाबेस से टेक्स्ट प्राप्त करना नहीं है। आपका काम ऐसे सिस्टम बनाना है जो मॉडल के सोचने शुरू करने से पहले ही जान लें कि उसे क्या चाहिए।

यदि आप इस क्षेत्र में काम कर रहे हैं, तो GyaanSetu लर्निंग कम्युनिटी उन लोगों के साथ व्यावहारिक नोट्स साझा करने का एक स्थान है जो समान समस्याओं का समाधान कर रहे हैं: https://t.me/GyaanSetuAi