# RAG क्यों है — Retrieval-Augmented Generation (RAG)

Source: https://www.geekswithgeeks.com/hi/rag/b-why

> सादे language models की ज्ञान-समस्याएँ समझें।

## मॉडल आपका डेटा नहीं जानते

Language model सिर्फ़ वही जानता है जो उसके प्रशिक्षण डेटा में था, जो **knowledge cutoff** पर जमा है। उसने आपकी कंपनी की handbook, कल के tickets या निजी database नहीं देखे, और तथ्य न हों तो वह धाराप्रवाह पर गढ़ा हुआ उत्तर (**hallucination**) दे सकता है। **Retrieval-Augmented Generation (RAG)** इसे सवाल के समय ठीक करता है: पहले आपके दस्तावेज़ों से सवाल के प्रासंगिक अंश **retrieve** करें, फिर prompt को उनसे **augment** करें, फिर मॉडल को उस पाठ के आधार पर उत्तर **generate** करने दें। तथ्य आपके दस्तावेज़ों में रहते हैं, जहाँ उन्हें अद्यतन और उद्धृत किया जा सकता है, मॉडल के weights में नहीं।

## पहले खोजें, फिर उत्तर दें

RAG आपके दस्तावेज़ों से प्रासंगिक पाठ लाकर सवाल के साथ मॉडल को देता है।

![चार चरण: सवाल, retrieve, augment, generate।](assets/figures/rag/section-1-map.svg) — चित्र 1.1 — सवाल, retrieve, augment और generate।

## खुली-किताब परीक्षा

बंद-किताब परीक्षा का छात्र याददाश्त पर निर्भर रहता है और अंदाज़ा लगा सकता है। खुली-किताब का छात्र सही पन्ना खोजता है, फिर उत्तर लिखता है और बताता है कि वह किस पन्ने से आया।

## औज़ार नहीं, सवाल से शुरू करें

कोई vector database चुनने से पहले अपने users के 20 असली सवाल जुटाएँ। वे बताते हैं कि क्या retrieve करना है।

**Quiz:** RAG system में तथ्य कहाँ रहते हैं?

- [ ] Tokenizer में
- [ ] सिर्फ़ मॉडल weights में
- [x] आपके दस्तावेज़ों में, सवाल के समय retrieve होकर
- [ ] GPU में

*Answer:* आपके दस्तावेज़ों में, सवाल के समय retrieve होकर. RAG ज्ञान को मॉडल के बाहर रखता है ताकि उसे अद्यतन और उद्धृत किया जा सके।
