मुख्य कंटेंट तक स्किप करें

रिट्रीवल-ऑगमेंटेड जनरेशन (RAG)

मध्यम
What you'll learn
  • RAG क्या है और रिट्रीव-ऑगमेंट-जनरेट लूप
  • साइटेशन के साथ कैसे इंडेक्स, रिट्रीव, ऑगमेंट और जनरेट करें
  • 'मेरे दस्तावेज़ों के बारे में उत्तर दो' की ज़रूरतों के लिए RAG फ़ाइन-ट्यूनिंग से बेहतर क्यों है
  • वे पाँच विफलता-तरीके जो RAG की गुणवत्ता को मार देते हैं
  • एक कॉपी-पेस्ट ग्राउंडिंग प्रॉम्प्ट जो दो सबसे बड़ी कमियों को पाट देता है

RAG किसी मॉडल से आपके डेटा — दस्तावेज़, एक नॉलेज बेस, एक कोडबेस — के बारे में प्रश्नों के उत्तर दिलवाता है जिन पर उसे कभी प्रशिक्षित नहीं किया गया था। विचार सरल है: प्रासंगिक टुकड़ों को रिट्रीव (पुनः प्राप्त) करें, प्रॉम्प्ट को उनके साथ ऑगमेंट (संवर्धित) करें, फिर उन टुकड़ों में आधारित एक उत्तर जनरेट (उत्पन्न) करें।

लूप

Guided walkthrough1 of 4
  1. टुकड़ों में बाँटें, उन्हें एम्बेड करें (देखें /docs/foundations/embeddings), और एक vector (और/या keyword) इंडेक्स में स्टोर करें।

इंडेक्सिंग में एम्बेडिंग चरण के लिए, देखें एम्बेडिंग्स और वेक्टर सर्च

फ़ाइन-ट्यूनिंग के बजाय RAG क्यों?

Pro tip
  • ताज़ा: डेटा अपडेट करें, मॉडल नहीं
  • सत्यापन-योग्य: उद्धरण प्रदान करता है
  • सस्ता: पुनः-प्रशिक्षण से कहीं सस्ता

अधिकांश "मेरे दस्तावेज़ों के बारे में उत्तर दो" वाली ज़रूरतों के लिए, RAG सही पहला टूल है — देखें फ़ाइन-ट्यूनिंग बनाम प्रॉम्प्टिंग बनाम RAG

विफलता-तरीके (जहाँ RAG की गुणवत्ता मर जाती है)

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

चंकिंग वाली विफलता का संबंध embeddings से है, और अति-ठूँसना टोकन की लागत लगाता है।

Pro tip
  • retrieval का अलग से मूल्यांकन करें: 'क्या हमने सही टुकड़ा रिट्रीव किया?' को 'क्या मॉडल ने अच्छा उत्तर दिया?' से अलग मापें। यह समस्या को तेज़ी से स्थानीयकृत कर देता है। देखें Evals (/docs/foundations/evals)।

कॉपी-पेस्ट: एक ग्राउंडिंग प्रॉम्प्ट

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

ग्राउंडिंग प्रॉम्प्ट

You are answering strictly from the context below.

Rules:
- Use ONLY the context to answer. Do not use outside knowledge.
- Cite the source after each claim, like [chunk 2].
- If the answer is not in the context, reply exactly:
"I don't have that in the provided sources."
- Quote numbers and names verbatim — never paraphrase a figure.

Context:
[chunk 1] ...
[chunk 2] ...
[chunk 3] ...

Question: <the user's question>

इसे कुछ उच्च-गुणवत्ता वाले टुकड़ों (वह सब कुछ नहीं जो आपने रिट्रीव किया) के साथ जोड़ें और आप एक ही बार में दो सबसे बड़ी कमियों को पाट देते हैं: हैलुसिनेटेड मिश्रण और असत्यापन-योग्य उत्तर। फिर retrieval और जनरेशन का अलग-अलग eval करें ताकि आप जान सकें कि किस आधे हिस्से को ट्यून करना है।

शब्दावली में महारत हासिल करें

कार्ड पलटने के लिए Enter या Space दबाएँ। कार्ड बदलने के लिए बाएँ और दाएँ तीर कुंजियों का उपयोग करें।शब्द दिखाया गया।
1 / 6

खुद को परखें

0/5
  1. RAG के तीन अक्षर क्रम में किसके लिए हैं?
  2. जब 'RAG गलत है', तो वास्तविक समस्या अक्सर क्या होती है?
  3. 'मेरे दस्तावेज़ों के बारे में उत्तर दो' के लिए RAG आमतौर पर फ़ाइन-ट्यूनिंग से अधिक पसंद क्यों किया जाता है?
  4. मॉडल को तथ्यों को अनुमानों के साथ मिलाने से रोकने का सबसे अधिक प्रभाव वाला एकल सुधार क्या है?
  5. retrieval का जनरेशन से अलग मूल्यांकन क्यों करें?
Key takeaways
  • RAG = प्रासंगिक टुकड़ों को रिट्रीव करें, प्रॉम्प्ट को ऑगमेंट करें, एक आधारित, उद्धृत उत्तर जनरेट करें।
  • इंडेक्स (चंक + एम्बेड + स्टोर), शीर्ष टुकड़े रिट्रीव करें, एक ग्राउंडिंग निर्देश के साथ ऑगमेंट करें, उद्धरणों के साथ जनरेट करें।
  • दस्तावेज़ Q&A के लिए फ़ाइन-ट्यूनिंग के बजाय RAG को प्राथमिकता दें: ताज़ा, उद्धृत, सस्ता।
  • अधिकांश विफलताएँ retrieval की विफलताएँ होती हैं — सब कुछ नहीं, बल्कि कम उच्च-गुणवत्ता वाले टुकड़े रिट्रीव करें।
  • हमेशा एक ग्राउंडिंग निर्देश जोड़ें और उद्धृत करें; retrieval और जनरेशन का अलग-अलग eval करें।

आगे