इकाई 1 / 11

RAG क्या है और यह क्यों आवश्यक है?

लाभ:

  • यह समझाते हुए कि आरएजी मॉडल के वजन को बदले बिना संदर्भ को इंजेक्ट करता है और 'ओपन बुक एग्जाम' तर्क के साथ काम करता है
  • लागत, समयबद्धता और उपयोग परिदृश्य के अनुसार फाइन-ट्यूनिंग और लंबे संदर्भ दृष्टिकोण के साथ आरएजी की तुलना करना
  • अनुक्रमण और क्वेरी चरणों से युक्त एक विशिष्ट आरएजी पाइपलाइन के चरणों को सूचीबद्ध करना

इससे कोई फर्क नहीं पड़ता कि कोई भाषा मॉडल (कृत्रिम बुद्धिमत्ता जो पाठ को समझती है और उत्पन्न करती है; हम इसे अब से संक्षेप में मॉडल कहेंगे) कितना भी शक्तिशाली क्यों न हो, यह आपकी कंपनी द्वारा कल हस्ताक्षरित अनुबंध, आपके आंतरिक विकी (आंतरिक ज्ञान आधार) पृष्ठ, या आज सुबह प्रकाशित रिलीज़ नोट को नहीं जानता है। यह मॉडल प्रशिक्षित होने की तिथि तक सामान्य ज्ञान तक ही सीमित है; इसे "शिक्षा की अंतिम तिथि" कहा जाता है। आरएजी (रिट्रीवल-ऑगमेंटेड जेनरेशन) बिल्कुल इस अंतर को भरता है: यह प्रश्न से संबंधित कंपनी के दस्तावेजों को ढूंढता है, इसे संदर्भ के रूप में मॉडल को देता है (अर्थात, उत्तर देते समय वह अतिरिक्त पाठ पढ़ेगा) और इस संदर्भ के आधार पर उत्तर तैयार करता है।

इस इकाई में, हम स्पष्ट रूप से देखेंगे कि आरएजी क्या है, इसे कब किन विकल्पों पर प्राथमिकता दी जाती है, और एक विशिष्ट आरएजी पाइपलाइन के चरण क्या हैं। बाद की सभी इकाइयाँ इस मानचित्र के भागों को एक-एक करके गहरा करेंगी।

आरएजी का मूल विचार: ओपन बुक परीक्षा

आइए RAG को एक वाक्य में समझाएं: "पहले प्रासंगिक दस्तावेज़ ढूंढें, फिर मॉडल से उस दस्तावेज़ को पढ़ें और उसके अनुसार उत्तर प्रिंट करें।"

सबसे उपयोगी सादृश्य यह है: आरएजी मॉडल को "बंद किताब परीक्षा" से "खुली किताब परीक्षा" में ले जाता है। बंद किताब परीक्षा में छात्र केवल स्मृति से उत्तर देता है; जो आपको याद नहीं है उसे बना लेने का जोखिम बहुत अधिक है। ओपन बुक परीक्षा में छात्र सामने रखे स्रोत को देखकर उत्तर देता है। आरएजी में, मॉडल अब अपनी मेमोरी से उत्तर नहीं देता है, बल्कि आपके द्वारा दिए गए वर्तमान और विशिष्ट पाठ से उत्तर देता है।

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

संकेत: दो प्रश्न आरएजी की गुणवत्ता निर्धारित करते हैं: (1) क्या आपको सही दस्तावेज़ मिला? (2) क्या मॉडल ने इसे सही ढंग से पढ़ा? पहला है "पुनर्प्राप्ति गुणवत्ता", दूसरा है "पीढ़ी गुणवत्ता"। दोनों को अलग-अलग मापा और सुधारा जाता है।

आरएजी, फाइन-ट्यूनिंग या लंबा संदर्भ?

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

दृष्टिकोण

क्या करता है

यह कब उचित है?

लागत/जोखिम

रग

प्रासंगिक दस्तावेज़ को संदर्भ के रूप में सम्मिलित करता है

बार-बार बदलती, व्यापक, विशिष्ट जानकारी

निम्न; अद्यतन करना आसान है, स्रोत का हवाला दिया जा सकता है

फाइन-ट्यूनिंग

नए डेटा के साथ वज़न अपडेट करता है

निश्चित शैली/प्रारूप/भाषा शिक्षण

ऊँचा; प्रत्येक अद्यतन के साथ पुनः प्रशिक्षण आवश्यक है

केवल लंबा प्रसंग

प्रॉम्प्ट में सभी दस्तावेज़ भरें

छोटा, स्थिर दस्तावेज़ सेट

टोकन लागत और "मध्य भाग खोने" का जोखिम बढ़ जाता है

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

एक विशिष्ट आरएजी पाइपलाइन

RAG में दो मुख्य चरण होते हैं: अनुक्रमण (तैयारी, एक बार या समय-समय पर की जाती है) और क्वेरी करना (प्रत्येक उपयोगकर्ता के प्रश्न पर चलता है)।

चरण दर चरण अनुक्रमण (ऑफ़लाइन, उपयोगकर्ता की प्रतीक्षा किए बिना):

  1. एकत्रित करें: स्रोतों (पीडीएफ, विकी, टिकट प्रणाली, डेटाबेस, ईमेल) से दस्तावेज़ निकालें।
  2. चंकिंग: लंबे टेक्स्ट को छोटे प्रबंधनीय टुकड़ों में तोड़ें।
  3. एंबेड: प्रत्येक भाग को एंबेडिंग (संख्या वेक्टर जो पाठ का अर्थ रखता है) में परिवर्तित करें।
  4. सहेजें: वेक्टर डेटाबेस में टेक्स्ट और मेटाडेटा (स्रोत, दिनांक, प्राधिकरण जानकारी) के साथ वेक्टर लिखें।

चरण-दर-चरण क्वेरी (ऑनलाइन, जब उपयोगकर्ता प्रतीक्षा कर रहा हो):

  1. उपयोगकर्ता के प्रश्न को एम्बेडिंग में बदलें।
  2. वेक्टर डेटाबेस से सबसे समान भागों को पुनः प्राप्त करें।
  3. इन टुकड़ों और प्रश्नों को एक शीघ्र टेम्पलेट में रखें।
  4. मॉडल से प्रासंगिक उत्तर और उसके स्रोत प्राप्त करें।

# पूछताछ चरण की वैचारिक रूपरेखा (भाषा पर निर्भर नहीं)प्रश्न = "कितने दिनों की वार्षिक छुट्टी?" फिटिंग.संदर्भ:{भागों}प्रश्न: {प्रश्न}"""उत्तर = model.uret(प्रॉम्प्ट) # उदा. मॉडल: क्लाउड-ओपस-4-8

यह प्रवाह प्रत्येक चरण का एक मानचित्र है, जिसे हम अगली इकाइयों में एक-एक करके खोलेंगे।

कमजोर संकेत/मजबूत संकेत

समान RAG संदर्भ के साथ भी, संकेत की गुणवत्ता उत्तर को बदल देती है।

कमजोर संकेत (मॉडल फिटिंग के लिए खुला, संसाधनों की आवश्यकता नहीं है):

इस जानकारी का उपयोग करें और वार्षिक अवकाश कहें: {भाग}। प्रश्न: {प्रश्न}

शक्तिशाली संकेत (ग्राउंडिंग + "मुझे नहीं पता" अनुमति + संसाधन अनुरोध):

केवल नीचे दिए गए संदर्भ के आधार पर उत्तर दें। यदि संदर्भ में कोई स्पष्ट उत्तर नहीं है, तो लिखें "मुझे दस्तावेज़ में इसके बारे में जानकारी नहीं मिली"; अनुमान मत लगाओ. अपने उत्तर के अंत में उस अंश का [स्रोत: फ़ाइल_नाम] टैग जोड़ें जिस पर आप भरोसा कर रहे हैं। संदर्भ: {टुकड़े} प्रश्न: {प्रश्न}

तीन मिनी मामले

केस 1 - मानव संसाधन सहायक (मानव संसाधन)। एक कंपनी के पास 340 पेज की एचआर हैंडबुक है और कर्मचारी प्रतिदिन औसतन 90 प्रश्न पूछते हैं। फाइन-ट्यूनिंग की कोशिश की गई, लेकिन चूंकि मैनुअल को मासिक रूप से अपडेट किया जाता था, इसलिए हर बार पुनः प्रशिक्षण की आवश्यकता होती थी; लागत प्रति माह हजारों डॉलर तक पहुंच गई। आरएजी पर स्विच करने के बाद, अपडेट को "दस्तावेज़ को पुनः अनुक्रमित करें" चरण (मिनट) तक कम कर दिया गया और मैन्युअल माप में सही-उत्तर दर 71% से बढ़कर 93% हो गई।

केस 2 - ग्राहक सहायता। सहायता टीम के पास 12,000 समाधानित टिकट और 800 सहायता लेख हैं। एक प्रतिनिधि को मैन्युअल रूप से उत्तर खोजने में औसतन 4 मिनट का समय लगता है। जब आरएजी सहायक 5 सर्वाधिक प्रासंगिक रिकॉर्ड लेकर आया और एक मसौदा प्रतिक्रिया प्रस्तुत की, तो समय घटाकर 40 सेकंड कर दिया गया; लेकिन टीम को "गलत लेख लाकर अनिश्चित दिखने" के जोखिम का एहसास हुआ और स्रोत का हवाला देना अनिवार्य कर दिया गया।

केस 3 - कानून। एक अनुबंध टीम ने पूछा "किस अनुबंध में गोपनीयता खंड 5 वर्षों तक रहता है?" वह सवाल पूछता है. लंबे संदर्भ परीक्षण में, 60 अनुबंध एक ही प्रॉम्प्ट में भरे गए थे; मॉडल ने बीच के दो अनुबंध छोड़ दिए। जब केवल प्रासंगिक वस्तुओं को आरएजी के साथ पेश किया गया, तो टोकन लागत 80% कम हो गई और लापता स्किपिंग को रीसेट कर दिया गया।

RAG की आवश्यकता क्यों है?

  • वर्तमानता: आप प्रशिक्षण की अंतिम तिथि के बाद जानकारी तक पहुँच पाते हैं।
  • विशेष जानकारी: आपके आंतरिक दस्तावेज़ किसी भी मॉडल के प्रशिक्षण में शामिल नहीं हैं; केवल आप ही दे सकते हैं.
  • सत्यापनीयता: आप उत्तर के स्रोत (उद्धरण) का हवाला दे सकते हैं - ऑडिटिंग और विश्वास के लिए आवश्यक।
  • मतिभ्रम नियंत्रण: यह एक मॉडल बनाने के बजाय उसके सामने रखे गए पाठ पर निर्भर करता है।
  • लागत: फ़ाइन-ट्यूनिंग की तुलना में इसे परिचालन में लाना बहुत सस्ता और तेज़ है।
सावधानी: RAG कोई जादू नहीं है. यदि आप गलत टुकड़ा लाते हैं, तो मॉडल "आश्वस्त" दिखते हुए गलत उत्तर पर पहुंच जाता है। वाक्यांश "पुनर्प्राप्ति गुणवत्ता = RAG गुणवत्ता" को ध्यान में रखें।

सामान्य गलतियाँ

  • आरएजी को फाइन-ट्यूनिंग समझने की भूल: आरएजी वजन नहीं बदलता है; यह सिर्फ संदर्भ जोड़ता है। इन दोनों को भ्रमित करने से गलत वास्तुकला का चयन हो जाएगा।
  • "मुझे नहीं पता" की अनुमति नहीं देना: यदि संकेत मॉडल को रिक्त स्थान भरने के लिए स्वतंत्र छोड़ देता है, तो यह भर जाएगा।
  • स्रोतों का हवाला नहीं दे रहा: स्रोत के बिना किसी उत्तर की जाँच नहीं की जा सकती; उपयोगकर्ता गलती को नोटिस नहीं कर सकता.
  • सब कुछ एक संकेत में समेटना: लंबा संदर्भ सस्ता दिखता है लेकिन महंगा है और बीच की जानकारी छूट जाती है।
  • पुनर्प्राप्ति को मापे बिना पीढ़ी में फंसना: यदि उत्तर खराब है, तो पहले पूछें "क्या सही भाग आया?" पूछा जाना चाहिए.

संक्षेप में

  • आरएजी एक दृष्टिकोण है जो प्रश्न से संबंधित दस्तावेजों को संदर्भ के रूप में मॉडल में शामिल करता है; वज़न नहीं बदलता ("ओपन बुक परीक्षा")।
  • फ़ाइन-ट्यूनिंग शैली/प्रारूप सिखाती है, RAG वर्तमान और विशिष्ट जानकारी देता है; लंबा संदर्भ छोटे निश्चित सेटों के लिए अच्छा काम करता है। अधिकांश परिदृश्यों में, RAG को पहले आज़माया जाता है।
  • पाइपलाइन के दो चरण हैं: ऑफ़लाइन इंडेक्सिंग (चंक + एम्बेडिंग + सेव) और ऑनलाइन क्वेरी (पुनर्प्राप्ति + प्रॉम्प्ट + जेनरेट)।
  • आरएजी समयबद्धता, विशिष्ट जानकारी, सत्यापनीयता, मतिभ्रम नियंत्रण और कम लागत प्रदान करता है।
  • सिस्टम की गुणवत्ता सीधे पुनर्प्राप्ति की गुणवत्ता पर निर्भर करती है: गलत टुकड़े का मतलब गलत उत्तर है।

आवेदन कार्य

अपनी टीम से जानकारी का वास्तविक स्रोत चुनें (उदाहरण के लिए एक प्रक्रिया दस्तावेज़ या FAQ पृष्ठ)। (1) इस स्रोत के बारे में 5 तथ्यात्मक प्रश्न लिखें। (2) ध्यान दें कि दस्तावेज़ के किस भाग में प्रत्येक प्रश्न का सही उत्तर है - यह आपकी "सुनहरा उत्तर" सूची बन जाती है। (3) उपरोक्त "मजबूत संकेत" टेम्पलेट का उपयोग करके, प्रासंगिक अनुभाग को संदर्भ के रूप में मैन्युअल रूप से पेस्ट करें और एक मॉडल पूछें। (4) मॉडल द्वारा दिए गए उत्तर की तुलना सुनहरे उत्तर से करें और सही/गलत के रूप में चिह्नित करें। यह मूल्यांकन का पहला मैनुअल संस्करण है जिसे आप भविष्य की इकाइयों में स्वचालित करेंगे।

चेकलिस्ट

  • [ ] मैं एक वाक्य में समझा सकता हूं कि आरएजी वजन नहीं बदलता है, यह सिर्फ संदर्भ जोड़ता है।
  • [ ] मैं आरएजी, फाइन-ट्यूनिंग और लंबे संदर्भ के बीच अंतर कर सकता हूं और कब कौन सा उपयुक्त है।
  • [ ] मैं अनुक्रमण (कलेक्ट-श्रेड-एम्बेड-सेव) और क्वेरी (एम्बेड-फ़ेच-प्रॉम्प्ट-जेनरेट) चरणों को क्रम में गिन सकता हूं।
  • [ ] मुझे पता है कि मैंने प्रॉम्प्ट में "यदि यह संदर्भ में नहीं है, तो कहें कि मुझे नहीं पता" और "स्रोत का हवाला दें" निर्देश क्यों जोड़े।
  • [ ] मैं "पुनर्प्राप्ति गुणवत्ता = आरएजी गुणवत्ता" के सिद्धांत को अपने मामले में अनुकूलित कर सकता हूं।