Rejoice Software logo

AI · · 4 मिनट का लेख

RAG जो सच में काम करे: 12 प्रोडक्शन सिस्टम से सीखे पैटर्न

चंकिंग, री-रैंकिंग, हाइब्रिड सर्च और मूल्यांकन — वे पैटर्न जिनसे प्रोडक्शन में भरोसेमंद RAG बनता है।

RAG क्या है, और कहाँ गड़बड़ होता है

Retrieval-augmented generation (RAG) आपके अपने दस्तावेज़ों से सवालों के जवाब देता है। भाषा मॉडल की याददाश्त पर निर्भर रहने के बजाय सिस्टम आपके कंटेंट में खोजता है, सबसे प्रासंगिक अंश प्रॉम्प्ट में डालता है और मॉडल से उन्हीं के आधार पर जवाब देने को कहता है — आदर्श रूप से स्रोतों के साथ।

जब RAG असिस्टेंट गलत या अस्पष्ट जवाब देता है, तो वजह शायद ही मॉडल होता है। आमतौर पर सही अंश कभी मिला ही नहीं, चंकिंग में आधा कट गया, या कम प्रासंगिक टेक्स्ट के नीचे दब गया। इसलिए RAG को भरोसेमंद बनाने का काम ज़्यादातर सर्च इंजीनियरिंग है।

पाइपलाइन

  • इनजेस्ट: CMS, हेल्प सेंटर, PDF या टिकट जैसे स्रोतों से दस्तावेज़ उनकी अनुमतियों के साथ इकट्ठा करना।
  • चंकिंग: उन्हें ऐसे अंशों में बाँटना जो अपने आप में समझ आएँ।
  • एम्बेडिंग और इंडेक्स: वेक्टर और कीवर्ड मेटाडेटा के साथ सहेजना।
  • रिट्रीवल: यूज़र के सवाल से खोजना, उन्हीं चीज़ों तक सीमित जो यूज़र देख सकता है।
  • री-रैंकिंग: शीर्ष नतीजों को ज़्यादा सटीक मॉडल से दोबारा क्रम में लगाना।
  • जनरेशन: सिर्फ़ मिले अंशों से जवाब देना और उनका हवाला देना।
  • इवैल्यूएशन: रिट्रीवल और जवाब की गुणवत्ता लगातार मापना।

अर्थ बचाने वाली चंकिंग

तय आकार के चंक जो टेबल और हेडिंग काट देते हैं, खराब जवाबों की सबसे आम वजह हैं। इसके बजाय दस्तावेज़ की संरचना के अनुसार बाँटें: सेक्शन, हेडिंग, लिस्ट आइटम और टेबल की पंक्तियाँ। ज़्यादातर टेक्स्ट के लिए कुछ सौ टोकन प्रति चंक और थोड़ा ओवरलैप अच्छा काम करता है।

हर चंक के साथ मेटाडेटा रखें: दस्तावेज़ का शीर्षक, सेक्शन हेडिंग, URL, तारीख, प्रोडक्ट या वर्ज़न, भाषा और एक्सेस अधिकार। एम्बेडिंग से पहले चंक टेक्स्ट के आगे शीर्षक और हेडिंग जोड़ने से रिट्रीवल अक्सर काफ़ी बेहतर होता है, क्योंकि अकेला पैराग्राफ़ शायद ही बताता है कि वह किस बारे में है।

हाइब्रिड सर्च और री-रैंकिंग

वेक्टर सर्च अर्थ समझने में अच्छी है लेकिन सटीक शब्दों में कमज़ोर: प्रोडक्ट कोड, एरर मैसेज, नाम और नंबर। कीवर्ड सर्च (BM25) इसका उल्टा है। दोनों चलाएँ और नतीजे मिलाएँ, जैसे reciprocal rank fusion से, तो दोनों की ताकत मिलती है।

फिर री-रैंक करें। जल्दी से 20 से 50 उम्मीदवार निकालें और एक cross-encoder री-रैंकर से हर एक को सवाल के मुकाबले स्कोर करवाएँ। मॉडल को सिर्फ़ सबसे अच्छे पाँच से आठ चंक देने से खर्च, देरी और भ्रम कम होते हैं।

अनुमतियाँ और ताज़गी

एक्सेस अधिकार रिट्रीवल के समय मेटाडेटा फ़िल्टर से लागू करें, मॉडल से चीज़ें छिपाने को कहकर कभी नहीं। अगर कोई यूज़र दस्तावेज़ नहीं देख सकता, तो वह प्रॉम्प्ट तक पहुँचना ही नहीं चाहिए।

इंडेक्स को इंक्रीमेंटल अपडेट से ताज़ा रखें: दस्तावेज़ बदलने पर उसे दोबारा इंडेक्स करें और हटने पर उसके चंक मिटाएँ। पुराने चंक आत्मविश्वास भरे लेकिन पुराने जवाब देते हैं — जिन्हें पकड़ना सबसे मुश्किल है।

आधारित जवाबों के लिए प्रॉम्प्ट

मॉडल से कहें कि सिर्फ़ दिए गए अंशों से जवाब दे, उनका ID से हवाला दे, और जब जवाब स्रोतों में न हो तो साफ़ कहे। मिले टेक्स्ट को निर्देश नहीं, डेटा मानें: दस्तावेज़ों में ऐसा टेक्स्ट हो सकता है जो मॉडल को भटकाने की कोशिश करे, इसलिए सिस्टम प्रॉम्प्ट में लिखें कि स्रोतों के अंदर के निर्देशों को नज़रअंदाज़ किया जाए।

इवैल्यूएशन ही प्रोडक्ट है

लॉन्च से पहले 50 से 200 असली सवाल उन दस्तावेज़ों के साथ इकट्ठा करें जिनसे उनका जवाब मिलना चाहिए। रिट्रीवल (क्या सही दस्तावेज़ शीर्ष नतीजों में था?) को जवाब की गुणवत्ता (क्या जवाब सही, पूरा और स्रोतों से समर्थित था?) से अलग मापें। मॉडल से ऑटोमेटेड जाँच बड़े पैमाने पर मदद करती है, लेकिन बीच-बीच में हाथ से भी जाँचें।

चंकिंग, एम्बेडिंग, प्रॉम्प्ट या मॉडल के हर बदलाव पर यह सेट चलाएँ। इसके बिना हर सुधार बस अनुमान है।

एक व्यावहारिक स्टैक

ज़्यादातर टीमों के लिए हम सरल शुरुआत करते हैं: pgvector के साथ PostgreSQL (या मज़बूत कीवर्ड सर्च चाहिए तो OpenSearch), किसी बड़े प्रोवाइडर का एम्बेडिंग मॉडल और री-रैंकर, बैकग्राउंड क्यू में इनजेस्शन, और एक छोटी एडमिन स्क्रीन जो दिखाए कि हर जवाब ने कौन से स्रोत इस्तेमाल किए। Qdrant या Weaviate जैसे समर्पित वेक्टर डेटाबेस बड़े पैमाने पर समझ में आते हैं। आर्किटेक्चर से ज़्यादा मायने चंकिंग, फ़िल्टर और इवैल्यूएशन रखते हैं।

क्या आप चाहते हैं कि हम आपकी साइट देखें?

तुरंत रिपोर्ट के लिए मुफ़्त वेबसाइट चेकर चलाएँ, या टिकट बनाएँ और एक इंजीनियर एक कार्यदिवस में जवाब देगा।

#RAG #LLM #OpenAI #Claude

बात करें

कुछ यादगार बनाते हैं.

फ़्री 30-मिनट स्ट्रैटेजी कॉल. कोई पिच नहीं, कोई बाध्यता नहीं — सिर्फ एक योजना.

प्रोजेक्ट शुरू करें