RAG म्हणजे काय? Retrieval-Augmented Generation सोप्या भाषेत
RAG (retrieval-augmented generation) म्हणजे AI मॉडेलला तुमच्या स्वतःच्या माहितीचा वापर करून प्रश्नांची उत्तरे देण्याची पद्धत. एखादा प्रश्न विचारला की तुमचे अॅप आधी तुमच्या दस्तऐवजांमध्ये सर्वात संबंधित परिच्छेद शोधते, आणि ते परिच्छेद प्रश्नासोबत मॉडेलला देते. मॉडेल आपले उत्तर फक्त प्रशिक्षणादरम्यान जे शिकले त्यावर न लिहिता त्या मजकुरावरून लिहिते.
AI सोबत बनवताना RAG का महत्त्वाचे आहे
मोठे भाषा मॉडेल जगाबद्दल सर्वसाधारणपणे भरपूर जाणते, पण तुमच्या व्यवसायाबद्दल काहीच नाही: तुमच्या किमती, धोरणे, उत्पादन पुस्तिका, गेल्या आठवड्यातील सपोर्ट तिकिटे. त्याला प्रशिक्षणाची मर्यादा (cutoff) असते, त्यामुळे अलीकडील गोष्टी त्याला माहीत नसतात. तरीही त्याला विचारले तर ते आत्मविश्वासाने पण चुकीचे उत्तर देऊ शकते.
यावर तीन सामान्य उपाय आहेत:
| दृष्टिकोन | तो काय करतो | कशासाठी चांगला |
|---|---|---|
| सर्व काही प्रॉम्प्टमध्ये टाका | प्रत्येक प्रश्नासोबत सर्व दस्तऐवज पाठवा | थोडा मजकूर — काही पाने |
| RAG | तुमच्या दस्तऐवजांमध्ये शोधा, फक्त संबंधित भाग पाठवा | मोठे किंवा बदलणारे संग्रह: मदत केंद्रे, पुस्तिका, नोट्स |
| फाइन-ट्यूनिंग | उदाहरणांवर मॉडेलला आणखी प्रशिक्षण द्या | शैली, स्वरूप आणि वारंवार होणारी कामे — सतत बदलणारी तथ्ये नाहीत |
आधुनिक मॉडेल्स मोठे प्रॉम्प्ट स्वीकारतात, त्यामुळे लहान FAQ साठी पहिला पर्याय अनेकदा पुरेसा असतो. RAG त्याची जागा तेव्हा घेते जेव्हा तुमच्याकडे प्रत्येक वेळी पाठवायचा नसलेला जास्त मजकूर असतो — कारण तुम्ही पाठवलेला प्रत्येक शब्द पैसे आणि वेळ घेतो (पहा LLM APIs चे शुल्क कसे आकारले जाते).
"आमच्या डॉक्सशी चॅट करा" सारखे फीचर, सपोर्ट असिस्टंट किंवा अंतर्गत ज्ञान साधन बनवत असाल, तर जवळजवळ नक्कीच तुम्ही RAG चा कोणता तरी प्रकार बनवत आहात.
दैनंदिन उदाहरण
ओपन-बुक परीक्षेची कल्पना करा. ज्याला स्मरणातून उत्तरे द्यायची आहेत तो चुकू शकतो किंवा बनवाबनवी करू शकतो. ज्याला आधी योग्य पाने उघडून वाचून मग उत्तर द्यायची परवानगी आहे, तो खूप विश्वासार्ह आहे — जर त्याने योग्य पाने शोधली तर.
- विद्यार्थी म्हणजे भाषा मॉडेल.
- पाठ्यपुस्तक म्हणजे तुमचे दस्तऐवज.
- योग्य पाने उघडणे म्हणजे retrieval (शोध).
- त्या पानांवरून उत्तर लिहिणे म्हणजे generation (निर्मिती).
RAG ही ओपन-बुक आवृत्ती आहे. आणि परीक्षेप्रमाणेच, उत्तराचा दर्जा योग्य पाने सापडली की नाही यावर खूप अवलंबून असतो.
RAG कसे काम करते, पायरी पायरीने
सामान्य RAG व्यवस्थेत दोन टप्पे असतात.
तुमचे दस्तऐवज तयार करणे (आधीच केले जाते):
- गोळा करा — मदत लेख, PDF, धोरणे, उत्पादन माहिती.
- तुकडे करा (chunk) — मोठी दस्तऐवजे लहान तुकड्यांमध्ये विभागा, सहसा काही परिच्छेदांचे, जेणेकरून शोधात फक्त संबंधित भाग परत येईल.
- Embed करा — प्रत्येक तुकडा embedding मॉडेलकडे पाठवा, जे मजकुराला embedding मध्ये रूपांतरित करते — अर्थ दर्शवणाऱ्या संख्यांची लांब यादी. समान विषयांवरील मजकुरांना समान संख्या मिळतात.
- साठवा — तुकडे आणि त्यांचे embeddings अशा डेटाबेसमध्ये ठेवा जो समानतेनुसार शोधू शकतो (ज्याला सहसा vector database किंवा vector index म्हणतात).
प्रश्नाचे उत्तर देणे (प्रत्येक वेळी केले जाते):
- प्रश्नाचे embedding करा — तेच embedding मॉडेल वापरून.
- शोधा (retrieve) — प्रश्नाच्या embedding ला सर्वात जवळचे तुकडे निवडा, उदाहरणार्थ वरचे पाच.
- प्रॉम्प्ट तयार करा — सूचना, मिळालेले तुकडे आणि प्रश्न.
- निर्मिती (generate) — भाषा मॉडेल त्या तुकड्यांवरून उत्तर लिहिते, आदर्शतः कोणते तुकडे वापरले ते दाखवून.
अर्थानुसार शोधणे हेच हे काम शक्य करते: "माझे पैसे परत कसे मिळतील" हा प्रश्न "Refund policy" नावाचा तुकडा शोधू शकतो, जरी त्यांत एकही सारखा शब्द नसला तरी.
एक कृतीशील उदाहरण: जिमचा मदत सहाय्यक
समजा एका जिमकडे 40 मदत लेख आहेत आणि त्यांना वेबसाइटवर चॅट असिस्टंट हवा आहे. एक सदस्य विचारतो: "मी प्रवासात असताना माझे सदस्यत्व थांबवू शकतो का?"
अॅप प्रश्नाचे embedding करते आणि तीन सर्वात जवळचे तुकडे शोधते. त्यातील एक असा मजकूर असतो:
सदस्यत्व गोठवणे: मासिक योजनेवरील सदस्य वर्षातून 2 महिन्यांपर्यंत
त्यांचे सदस्यत्व गोठवू शकतात. गोठवणे सुरू होण्यापूर्वी किमान
7 दिवस आधी फ्रंट डेस्कवर किंवा अॅपमध्ये विनंती करा.
मॉडेलला पाठवलेला प्रॉम्प्ट असा दिसतो:
तुम्ही Northside Gym चे मदत सहाय्यक आहात.
फक्त खालील स्रोतांवरून उत्तर द्या. त्यात माहिती नसेल तर
तुम्हाला माहीत नाही असे सांगा आणि फ्रंट डेस्कशी संपर्क सुचवा.
वापरलेला स्रोत नमूद करा.
[स्रोत 1: सदस्यत्व गोठवणे] मासिक योजनेवरील सदस्य गोठवू शकतात...
[स्रोत 2: सदस्यत्व रद्द करणे] ...
[स्रोत 3: अतिथी पास] ...
प्रश्न: मी प्रवासात असताना माझे सदस्यत्व थांबवू शकतो का?
आणि मॉडेल उत्तर देते: "होय — मासिक योजनेवर तुम्ही वर्षातून दोन महिन्यांपर्यंत सदस्यत्व गोठवू शकता. ते फ्रंट डेस्कवर किंवा अॅपमध्ये किमान 7 दिवस आधी विनंती करून करा (स्रोत: सदस्यत्व गोठवणे)."
जिमने काहीही पुन्हा प्रशिक्षित केले नाही. त्यांनी गोठवण्याचे धोरण बदलले की ते लेख अपडेट करतात, अॅप तो तुकडा पुन्हा embed करते, आणि पुढचे उत्तर नवीन धोरण दाखवते.
मुख्य संज्ञा
| संज्ञा | अर्थ |
|---|---|
| LLM | Large language model — उत्तर लिहिणारे AI. LLM म्हणजे काय पहा. |
| Embedding | मजकुराच्या अर्थाचे प्रतिनिधित्व करणारी संख्यांची यादी. |
| Embedding model | embeddings तयार करणारे मॉडेल. सहसा चॅट मॉडेलपेक्षा वेगळे आणि खूप स्वस्त. |
| Chunk | दस्तऐवजाचा एक तुकडा, जो स्वतंत्रपणे शोधता येईल इतका लहान. |
| Vector database / vector search | समान embeddings असलेल्या गोष्टी शोधणारी साठवणूक. काही नियमित डेटाबेसमध्येही ही सुविधा असते — उदाहरणार्थ Postgres मध्ये pgvector एक्सटेन्शनद्वारे. |
| Top-k | प्रत्येक प्रश्नासाठी किती तुकडे शोधले जातात. |
| Hybrid search | अर्थावर आधारित शोधाला नेहमीच्या कीवर्ड शोधाशी जोडणे, जे उत्पादन कोडसारख्या नेमक्या शब्दांसाठी मदत करते. |
| Context window | मॉडेल एका विनंतीत जास्तीत जास्त किती मजकूर घेऊ शकते. |
| Grounding / citations | उत्तराला विशिष्ट शोधलेल्या स्रोतांशी जोडणे आणि ते दाखवणे. |
सामान्य गैरसमज
- "RAG मॉडेलला माझ्या डेटावर प्रशिक्षण देते." नाही. मॉडेल अजिबात बदलत नाही; प्रश्न विचारताना ते फक्त अधिक मजकूर वाचते.
- "RAG म्हणजे आता hallucinations नाहीत." याचा अर्थ त्या कमी आहेत. शोधात योग्य तुकडा चुकला, किंवा उत्तर तुमच्या दस्तऐवजांत नसेल, तर मॉडेल तरीही अंदाज लावू शकते. त्याला "मला माहीत नाही" म्हणायला सांगा आणि उत्तर माहीत असलेल्या प्रश्नांनी चाचणी करा.
- "मला खास vector database लागेल." अनेकदा नाही. कमी डेटासाठी तुमच्याकडील डेटाबेसवरील vector एक्सटेन्शन, किंवा साधा कीवर्ड शोधही पुरेसा असू शकतो.
- "मोठे तुकडे चांगले." खूप मोठे असतील तर अनावश्यक मजकूर पाठवला जातो (जास्त खर्च, गोंधळ); खूप लहान असतील तर तुकड्याला अर्थ देणारा संदर्भ हरवतो. यात समायोजन करावे लागते.
- "सगळे अपलोड करा." जुनी, दुबार किंवा विरोधाभासी दस्तऐवजे विरोधाभासी उत्तरे देतात. स्रोत साहित्य स्वच्छ करणे ही अनेकदा सर्वात मोठी सुधारणा असते.
- "कोणीही कोणताही दस्तऐवज पाहू शकतो." तुम्ही तसे बनवले तरच. काही दस्तऐवज विशिष्ट वापरकर्त्यांसाठी खाजगी असतील, तर शोधानेच विचारणाऱ्या व्यक्तीनुसार फिल्टर केले पाहिजे — नाहीतर सहाय्यक एका ग्राहकाचा डेटा दुसऱ्याला उद्धृत करू शकतो.
किती खर्च येतो
RAG फीचरचे सहसा तीन चालणारे खर्च असतात: तुमच्या दस्तऐवजांचे embedding (लहान, आणि बहुतेक एकदाच), प्रत्येक प्रश्नाचे embedding (अगदी कमी), आणि भाषा मॉडेलचा कॉल (मुख्य खर्च, जो तुम्ही किती तुकडे पाठवता त्यानुसार वाढतो). शिवाय तुमच्या डेटाबेस मध्ये साठवणूक. तुमचा AI प्रदाता हे खर्च तुमच्या स्वतःच्या खात्यावर आकारतो, त्यामुळे तिथे खर्च मर्यादा सेट करा.
AI बिल्डरला काय विचारायचे
- "RAG बनवण्यापूर्वी तपासा: आपला मजकूर प्रॉम्प्टमध्ये थेट टाकण्याइतका लहान आहे का?"
- "मदत लेखांचे काही परिच्छेदांचे तुकडे करा, प्रत्येक तुकड्याचे शीर्षक आणि स्रोत लिंक ठेवा, आणि embeddings आमच्या डेटाबेसमध्ये साठवा."
- "Hybrid search वापरा — अर्थावर आधारित आणि कीवर्ड दोन्ही — म्हणजे उत्पादन कोड जुळतील."
- "मॉडेलला फक्त शोधलेल्या स्रोतांवरून उत्तर द्यायला सांगा, माहीत नसेल तेव्हा तसे सांगायला सांगा, आणि प्रत्येक उत्तराखाली स्रोत दाखवा."
- "फक्त साइन-इन वापरकर्त्याला पाहण्याची परवानगी असलेले दस्तऐवजच शोधा."
- "दस्तऐवज संपादित झाल्यावर त्याचे embedding आपोआप पुन्हा करा."
- "AI प्रदात्याची की सर्व्हरवर सिक्रेट म्हणून ठेवा, ब्राउझरमध्ये कधीही नाही."
- "प्रत्येक प्रश्न, शोधलेले तुकडे आणि उत्तर नोंदवा, जेणेकरून चुकीची उत्तरे मी तपासू शकेन."
RAG Mythex मध्ये
Mythex मध्ये तयार नॉलेज-बेस किंवा RAG उत्पादन नाही. ते जे करते ते म्हणजे तुमच्या अॅपसाठी त्याचा कोड लिहिते: तुम्ही तुमची दस्तऐवजे आणि तुमची स्वतःची AI प्रदाता की आणता, जी प्रोजेक्ट सिक्रेट म्हणून साठवली जाते, आणि एजंट शोध आणि चॅट भाग बनवतो, साठवणुकीसाठी प्रोजेक्टच्या Postgres डेटाबेसचा वापर करून. प्रदात्याचा वापर तुमच्या प्रदाता खात्यावर बिल होतो, Mythex क्रेडिट्सवर नाही. डॉक्समध्ये एका साध्या AI फीचरपासून सुरुवात करून, ते चालल्यावर RAG जोडण्याची शिफारस आहे — AI अॅप बनवणे पहा, आणि आमचे मार्गदर्शक AI चॅटबॉट अॅप बनवणे आणि अॅपमध्ये AI फीचर्स जोडणे.
प्रश्न
RAG म्हणजे सोप्या भाषेत काय?
RAG (retrieval-augmented generation) म्हणजे AI मॉडेलला तुमच्या स्वतःच्या माहितीवरून उत्तर देण्यास लावण्याची पद्धत. मॉडेल उत्तर देण्यापूर्वी तुमचे अॅप तुमच्या दस्तऐवजांमध्ये प्रश्नाशी सर्वात संबंधित परिच्छेद शोधते आणि ते प्रॉम्प्टमध्ये टाकते. त्यामुळे उत्तर फक्त प्रशिक्षणादरम्यान मॉडेलने शिकलेल्या गोष्टींवर आधारित नसते, तर त्या मजकुरावर आधारित असते.
RAG मुळे माझ्या डेटावर AI ला प्रशिक्षण मिळते का?
नाही. RAG मुळे मॉडेल अजिबात बदलत नाही. प्रश्न विचारला जातो त्या क्षणी ते संबंधित मजकूर शोधते आणि तो प्रश्नासोबत मॉडेलला देते. एखादे दस्तऐवज बदलले तर पुढच्या उत्तरात लगेच नवी आवृत्ती वापरली जाऊ शकते.
RAG म्हणजे फाइन-ट्यूनिंग का?
नाही. फाइन-ट्यूनिंगमध्ये उदाहरणांवर मॉडेलला आणखी प्रशिक्षण देऊन त्याचे वर्तन बदलले जाते; ते हळू असते आणि शैली किंवा स्वरूपासाठी चांगले असते. RAG मॉडेलला प्रश्न विचारताना वाचण्यासाठी तथ्ये देते, जे बदलणाऱ्या माहितीसाठी किंवा अचूक उद्धृत करावयाच्या माहितीसाठी चांगले असते.
RAG मुळे AI चे hallucinations थांबतात का?
ते कमी करते, पण पूर्णपणे थांबवत नाही. शोधात चुकीचे परिच्छेद सापडले, किंवा उत्तर तुमच्या दस्तऐवजांत नसेल, तर मॉडेल तरीही अंदाज लावू शकते. चांगली RAG अॅप्स मॉडेलला माहीत नसेल तेव्हा तसे सांगायला सांगतात आणि वापरलेले स्रोत दाखवतात.