RAG என்றால் என்ன? Retrieval-Augmented Generation எளிமையாக விளக்கம்
RAG (retrieval-augmented generation) என்பது AI மாடல் உங்கள் சொந்தத் தகவலைப் பயன்படுத்தி கேள்விகளுக்குப் பதிலளிக்கும் ஒரு வழி. ஒருவர் கேள்வி கேட்கும்போது, உங்கள் ஆப் முதலில் உங்கள் ஆவணங்களில் மிகப் பொருத்தமான பகுதிகளைத் தேடுகிறது; பின்னர் அந்தப் பகுதிகளை கேள்வியுடன் சேர்த்து மாடலுக்குத் தருகிறது. மாடல் பயிற்சியின்போது தற்செயலாகக் கற்றுக்கொண்டதை மட்டும் நம்பாமல், அந்த உரையிலிருந்து பதிலை எழுதுகிறது.
AI உடன் உருவாக்கும்போது RAG ஏன் முக்கியம்
பெரிய மொழி மாடல் (large language model) உலகைப் பற்றி பொதுவாக நிறைய அறியும், ஆனால் உங்கள் வணிகத்தைப் பற்றி எதுவும் அறியாது: உங்கள் விலைகள், கொள்கைகள், தயாரிப்புக் கையேடு, கடந்த வாரத்தின் support tickets. அதற்கு பயிற்சி முடிந்த ஒரு cutoff தேதியும் உண்டு, அதனால் சமீபத்தியவற்றைப் பற்றி அதற்குத் தெரியாது. அப்படியே கேட்டாலும் நம்பிக்கையுடன் ஆனால் தவறான பதிலை அது உருவாக்கக்கூடும்.
அதைச் சரிசெய்ய மூன்று பொதுவான வழிகள் உள்ளன:
| அணுகுமுறை | அது என்ன செய்கிறது | எதற்கு நல்லது |
|---|---|---|
| எல்லாவற்றையும் prompt-இல் ஒட்டுவது | ஒவ்வொரு கேள்வியுடனும் உங்கள் எல்லா ஆவணங்களையும் அனுப்புவது | சிறிய அளவு உரை — சில பக்கங்கள் |
| RAG | உங்கள் ஆவணங்களைத் தேடி, தொடர்புடைய பகுதிகளை மட்டும் அனுப்புவது | பெரிய அல்லது மாறும் தொகுப்புகள்: உதவி மையங்கள், கையேடுகள், குறிப்புகள் |
| Fine-tuning | எடுத்துக்காட்டுகளில் மேலும் பயிற்சி அளிப்பது | தொனி, வடிவம், திரும்பத் திரும்பச் செய்யும் பணிகள் — மாறும் உண்மைகளுக்கு அல்ல |
நவீன மாடல்கள் நீண்ட prompt-களை ஏற்கின்றன, எனவே சிறிய FAQ-க்கு முதல் வழி பெரும்பாலும் போதுமானது. ஒவ்வொரு முறையும் அனுப்ப விரும்பாத அளவுக்கு உரை அதிகமாக இருக்கும்போது RAG தேவைப்படுகிறது — ஏனெனில் நீங்கள் அனுப்பும் ஒவ்வொரு சொல்லுக்கும் பணமும் நேரமும் செலவாகும் (LLM API-கள் எப்படிக் கட்டணம் வசூலிக்கின்றன என்று பாருங்கள்).
“எங்கள் ஆவணங்களுடன் அரட்டை” அம்சம், support உதவியாளர் அல்லது உள் அறிவுத் தளம் ஆகியவற்றை நீங்கள் உருவாக்கினால், ஏதோ ஒரு வடிவ RAG-ஐத்தான் உருவாக்குகிறீர்கள்.
அன்றாட உவமை
திறந்த-புத்தகத் தேர்வைக் கற்பனை செய்யுங்கள். நினைவிலிருந்து பதிலளிக்க வேண்டிய மாணவர் தவறாக நினைவுகூரலாம் அல்லது ஏமாற்றலாம். முதலில் சரியான பக்கங்களைப் புரட்டி, படித்துவிட்டுப் பதிலளிக்க அனுமதிக்கப்பட்ட மாணவர் மிகவும் நம்பகமானவர் — அவர் சரியான பக்கங்களைக் கண்டுபிடித்தால் மட்டுமே.
- மாணவர் என்பது மொழி மாடல்.
- பாடப்புத்தகம் என்பது உங்கள் ஆவணங்கள்.
- சரியான பக்கங்களைப் புரட்டுவது என்பது retrieval.
- அந்தப் பக்கங்களிலிருந்து பதிலை எழுதுவது என்பது generation.
RAG என்பது அந்தத் திறந்த-புத்தக வடிவம். தேர்வைப் போலவே, பதிலின் தரம் சரியான பக்கங்கள் கண்டுபிடிக்கப்பட்டனவா என்பதைப் பெரிதும் சார்ந்தது.
RAG எப்படி வேலை செய்கிறது, படிப்படியாக
ஒரு பொதுவான RAG அமைப்பில் இரண்டு கட்டங்கள் உள்ளன.
உங்கள் ஆவணங்களைத் தயார் செய்தல் (முன்கூட்டியே செய்யப்படுவது):
- சேகரிக்கவும் — உதவிக் கட்டுரைகள், PDF-கள், கொள்கைகள், தயாரிப்புத் தரவு ஆகிய மூலப் பொருட்களை.
- Chunk செய்யவும் — நீண்ட ஆவணங்களை சிறிய துண்டுகளாகப் பிரிக்கவும், பெரும்பாலும் சில பத்திகள் ஒவ்வொன்றும், தேடல் தொடர்புடைய பகுதியை மட்டும் திருப்பித் தர முடியும் வகையில்.
- Embed செய்யவும் — ஒவ்வொரு chunk-ஐயும் embedding model-க்கு அனுப்பவும்; அது உரையை embedding ஆக மாற்றும் — அதன் பொருளைப் பிடிக்கும் எண்களின் நீண்ட பட்டியல். ஒத்த விஷயங்களைப் பற்றிய உரைகள் ஒத்த எண்களைப் பெறும்.
- சேமிக்கவும் — chunks-ஐயும் அவற்றின் embeddings-ஐயும் ஒற்றுமையின் அடிப்படையில் தேட முடிந்த ஒரு database-இல் (பெரும்பாலும் vector database அல்லது vector index என்று அழைக்கப்படும்) சேமிக்கவும்.
ஒரு கேள்விக்குப் பதிலளித்தல் (ஒவ்வொரு முறையும் செய்யப்படுவது):
- கேள்வியை embed செய்யவும் — அதே embedding model-ஐப் பயன்படுத்தி.
- Retrieve செய்யவும் — கேள்வியின் embedding-க்கு மிக நெருக்கமான chunks-ஐப் பெறவும் — உதாரணமாக முதல் ஐந்து.
- Prompt-ஐ உருவாக்கவும்: அறிவுறுத்தல்கள், பெறப்பட்ட chunks, கேள்வி.
- Generate செய்யவும்: மொழி மாடல் அந்தப் chunks-அடிப்படையில் பதிலை எழுதுகிறது; எந்தெந்தப் பகுதிகளைப் பயன்படுத்தியது என்று மேற்கோள் காட்டுவது சிறந்தது.
இது வேலை செய்ய வைப்பது பொருளின் அடிப்படையிலான தேடல்தான்: “என் பணத்தைத் திரும்பப் பெறுவது” பற்றிய கேள்வி, இரண்டிலும் ஒரே சொல் இல்லாவிட்டாலும் “Refund policy” என்ற chunk-ஐக் கண்டுபிடிக்க முடியும்.
ஒரு வேலை செய்த உதாரணம்: ஒரு gym-இன் உதவியாளர்
ஒரு gym-இடம் 40 உதவிக் கட்டுரைகள் உள்ளன, அதன் இணையதளத்தில் ஒரு அரட்டை உதவியாளர் வேண்டும் என்று வைத்துக்கொள்ளுங்கள். ஒரு உறுப்பினர் கேட்கிறார்: “நான் பயணம் செய்யும்போது என் உறுப்பினர் பதிவை நிறுத்தி வைக்க முடியுமா?”
ஆப் அந்தக் கேள்வியை embed செய்து, மிக நெருக்கமான மூன்று chunks-ஐப் பெறுகிறது. அவற்றில் ஒன்று இப்படி இருக்கிறது:
Membership freeze: Members on monthly plans can freeze their
membership for up to 2 months per year. Request it at the front
desk or in the app at least 7 days before the freeze starts.
அதன் பிறகு மாடலுக்கு அனுப்பப்படும் prompt இப்படி இருக்கும்:
You are the help assistant for Northside Gym.
Answer only from the sources below. If the answer isn't in them,
say you don't know and suggest contacting the front desk.
Mention which source you used.
[Source 1: Membership freeze] Members on monthly plans can freeze...
[Source 2: Cancelling your membership] ...
[Source 3: Guest passes] ...
Question: Can I pause my membership while I'm travelling?
மாடல் பதிலளிக்கிறது: “ஆம் — மாதாந்திரத் திட்டத்தில் வருடத்திற்கு இரண்டு மாதம் வரை உங்கள் உறுப்பினர் பதிவை நிறுத்தலாம். தொடங்குவதற்கு குறைந்தது 7 நாட்கள் முன்பு முன் மேசையில் அல்லது ஆப்பில் கோருங்கள் (மூலம்: Membership freeze).”
ஜிம் எதையும் மீண்டும் பயிற்சி அளிக்கவில்லை. அது freeze கொள்கையை மாற்றும்போது, கட்டுரையைப் புதுப்பிக்கிறது, ஆப் அந்த chunk-ஐ மீண்டும் embed செய்கிறது, அடுத்த பதில் அதைப் பிரதிபலிக்கிறது.
முக்கிய சொற்கள்
| சொல் | பொருள் |
|---|---|
| LLM | Large language model — பதிலை எழுதும் AI. LLM என்றால் என்ன என்று பாருங்கள். |
| Embedding | ஒரு உரைத் துண்டின் பொருளைக் குறிக்கும் எண்களின் பட்டியல். |
| Embedding model | embeddings-ஐ உருவாக்கும் மாடல். பொதுவாக chat மாடலிலிருந்து தனியானது, மிகவும் மலிவானது. |
| Chunk | ஆவணத்தின் ஒரு பகுதி, தனியாக மீட்டெடுக்கக்கூடிய அளவில். |
| Vector database / vector search | ஒத்த embeddings கொண்ட பொருட்களைக் கண்டுபிடிக்கும் சேமிப்பு. சில சாதாரண databases-உம் இதை வழங்குகின்றன — உதாரணமாக pgvector extension வழியாக Postgres. |
| Top-k | ஒரு கேள்விக்கு எத்தனை chunks பெறப்படுகின்றன. |
| Hybrid search | பொருளின் அடிப்படையிலான தேடலையும் சாதாரண சொல் தேடலையும் சேர்ப்பது; product codes போன்ற துல்லியமான சொற்களுக்கு இது உதவும். |
| Context window | ஒரு கோரிக்கையில் மாடல் ஏற்கக்கூடிய அதிகபட்ச உரையின் அளவு. |
| Grounding / citations | பதிலை குறிப்பிட்ட பெறப்பட்ட மூலங்களுடன் இணைத்து அவற்றைக் காட்டுவது. |
பொதுவான தவறான கருத்துகள்
- “RAG மாடலுக்கு என் தரவில் பயிற்சி அளிக்கிறது.” அது இல்லை. மாடலில் எதுவும் மாறாது; கேள்வி கேட்கும் நேரத்தில் கூடுதல் உரையை அது வாசிக்கிறது, அவ்வளவுதான்.
- “RAG என்றால் இனி பொய்த் தகவல் இருக்காது.” அது குறைவாகவே இருக்கும் என்று பொருள். தேடல் சரியான chunk-ஐத் தவறவிட்டால், அல்லது பதில் உங்கள் ஆவணங்களில் இல்லாவிட்டால், மாடல் இன்னும் யூகிக்கலாம். “எனக்குத் தெரியாது” என்று சொல்லும்படி அதற்குக் கூறி, பதில் உங்களுக்குத் தெரிந்த கேள்விகளுடன் சோதியுங்கள்.
- “எனக்கு ஒரு சிறப்பு vector database தேவை.” பல நேரங்களில் தேவையில்லை. சிறிய அளவுத் தரவுக்கு, நீங்கள் ஏற்கெனவே வைத்திருக்கும் database-இல் ஒரு vector extension, அல்லது சாதாரண சொல் தேடல் கூட போதுமானதாக இருக்கலாம்.
- “பெரிய chunks சிறந்தவை.” மிகப் பெரிதானால் தேவையற்ற உரையை அதிகம் அனுப்புவீர்கள் (அதிக செலவு, குழப்பம்); மிகச் சிறிதானால் chunk தன்னை அர்த்தமுள்ளதாக்கிய சூழலை இழக்கும். சரிசெய்ய வேண்டியிருக்கும்.
- “எல்லாவற்றையும் பதிவேற்றுங்கள்.” காலாவதியான, நகல் அல்லது முரண்படும் ஆவணங்கள் முரண்படும் பதில்களைத் தரும். மூலப் பொருளைச் சுத்தம் செய்வதுதான் நீங்கள் செய்யக்கூடிய மிகப் பெரிய மேம்பாடாக இருக்கலாம்.
- “எந்த ஆவணத்தையும் யார் வேண்டுமானாலும் பார்க்கலாம்.” நீங்கள் அப்படி உருவாக்கினால் மட்டுமே. சில ஆவணங்கள் குறிப்பிட்ட பயனர்களுக்கு மட்டும் தனிப்பட்டவையாக இருந்தால், தேடலே கேட்பவர் யார் என்று வடிகட்ட வேண்டும் — இல்லையென்றால் உதவியாளர் ஒரு வாடிக்கையாளரின் தரவை மற்றவருக்கு மேற்கோள் காட்டக்கூடும்.
இதற்கான செலவு
RAG அம்சத்திற்கு பொதுவாக மூன்று தொடர் செலவுகள் உண்டு: உங்கள் ஆவணங்களை embed செய்தல் (சிறியது, பெரும்பாலும் ஒரு முறை மட்டும்), ஒவ்வொரு கேள்வியையும் embed செய்தல் (மிகச் சிறியது), மற்றும் மொழி மாடல் அழைப்பு (முக்கியச் செலவு, எத்தனை chunks அனுப்புகிறீர்கள் என்பதுடன் வளரும்). அதோடு உங்கள் database-இல் சேமிப்புச் செலவும். இந்தச் செலவுகளை உங்கள் AI provider உங்கள் சொந்தக் கணக்கில் வசூலிக்கிறது, எனவே அங்கே ஒரு செலவு வரம்பை அமைக்கவும்.
உங்கள் AI builder-இடம் என்ன கேட்பது
- “RAG கட்டுவதற்கு முன் சரிபாருங்கள்: எங்கள் உள்ளடக்கம் prompt-இலேயே சேர்க்கும் அளவுக்குச் சிறியதா?”
- “உதவிக் கட்டுரைகளை சில பத்திகள் கொண்ட chunks ஆகப் பிரியுங்கள், ஒவ்வொரு chunk-இன் தலைப்பையும் மூல இணைப்பையும் வைத்திருங்கள், embeddings-ஐ எங்கள் database-இல் சேமியுங்கள்.”
- “hybrid search பயன்படுத்துங்கள் — பொருளின் அடிப்படையிலும் சொல்லின் அடிப்படையிலும் — அதனால் product codes இன்னும் பொருந்தும்.”
- “மாடல் பெறப்பட்ட மூலங்களிலிருந்து மட்டுமே பதிலளிக்கவும், தெரியாதபோது அதைச் சொல்லவும், ஒவ்வொரு பதிலின் கீழும் மூலங்களைக் காட்டவும் கூறுங்கள்.”
- “உள்நுழைந்த பயனர் பார்க்க அனுமதிக்கப்பட்ட ஆவணங்களை மட்டும் தேடுங்கள்.”
- “ஓர் ஆவணம் திருத்தப்படும்போதெல்லாம் அதை தானாக மீண்டும் embed செய்யுங்கள்.”
- “AI provider key-ஐ உலாவியில் அல்ல, சேவையகத்தில் ஒரு secret-ஆக வையுங்கள்.”
- “ஒவ்வொரு கேள்வி, பெறப்பட்ட chunks, பதிலைப் பதிவு செய்யுங்கள், மோசமான பதில்களை நான் மதிப்பாய்வு செய்யலாம்.”
Mythex-இல் RAG
Mythex-இல் தயாராக உள்ள knowledge-base அல்லது RAG தயாரிப்பு எதுவும் இல்லை. அது செய்வது, உங்கள் ஆப்பிற்குள் ஒன்றுக்கான code எழுதுவது: உங்கள் ஆவணங்களையும் உங்கள் சொந்த AI provider key-ஐயும் கொண்டு வருகிறீர்கள், key project secret ஆக சேமிக்கப்படுகிறது, retrieval மற்றும் chat பகுதிகளை agent உருவாக்குகிறது, சேமிப்புக்கு திட்டத்தின் Postgres database-ஐப் பயன்படுத்துகிறது. Provider பயன்பாடு Mythex credits அல்ல, உங்கள் provider கணக்கிலேயே வசூலிக்கப்படுகிறது. ஒரு எளிய AI அம்சத்துடன் தொடங்கி, அது வேலை செய்த பின் RAG சேர்க்குமாறு docs பரிந்துரைக்கின்றன — AI ஆப் உருவாக்குவது பாருங்கள், மேலும் AI chatbot ஆப் உருவாக்குவது எப்படி மற்றும் AI அம்சங்களைச் சேர்ப்பது எப்படி ஆகிய எங்கள் வழிகாட்டிகளையும் பாருங்கள்.
கேள்விகள்
எளிய சொற்களில் RAG என்றால் என்ன?
RAG (retrieval-augmented generation) என்பது AI மாடல் உங்கள் சொந்தத் தகவலிலிருந்து பதிலளிக்கும் ஒரு வழி. மாடல் பதிலளிப்பதற்கு முன், உங்கள் ஆப் உங்கள் ஆவணங்களில் கேள்விக்கு மிகப் பொருத்தமான பகுதிகளைத் தேடி, அவற்றை prompt-இல் சேர்க்கிறது. எனவே பதில் பயிற்சியின்போது மாடல் கற்றுக்கொண்டதை மட்டும் சார்ந்திராமல், அந்த உரையின் அடிப்படையில் அமைகிறது.
RAG என் தரவில் AI-க்குப் பயிற்சி அளிக்குமா?
இல்லை. RAG மாடலை சிறிதும் மாற்றுவதில்லை. கேள்வி கேட்கப்படும் அந்த நேரத்தில் தொடர்புடைய உரையைத் தேடி, கேள்வியுடன் சேர்த்து மாடலுக்குத் தருகிறது. ஒரு ஆவணத்தை மாற்றினால் அடுத்த பதில் உடனே புதிய பதிப்பைப் பயன்படுத்த முடியும்.
RAG என்பது fine-tuning-ஆ?
இல்லை. Fine-tuning என்பது எடுத்துக்காட்டுகளில் மேலும் பயிற்சி அளித்து மாடலின் நடத்தையை மாற்றுவது; இது மெதுவானது, நடை அல்லது வடிவத்திற்கு சிறந்தது. RAG, கேள்வி கேட்கும் நேரத்தில் வாசிக்க உண்மைகளை மாடலுக்குத் தருகிறது; மாறக்கூடிய அல்லது துல்லியமாக மேற்கோள் காட்ட வேண்டிய தகவலுக்கு இது சிறந்தது.
RAG AI-யின் பொய்த் தகவல் (hallucinations) உருவாவதை நிறுத்துமா?
அவற்றைக் குறைக்கும், ஆனால் முழுமையாக நீக்காது. தேடல் தவறான பகுதிகளைக் கண்டுபிடித்தால், அல்லது பதில் உங்கள் ஆவணங்களில் இல்லாவிட்டால், மாடல் இன்னும் யூகிக்கலாம். நல்ல RAG ஆப்கள் தனக்குத் தெரியாதபோது அதைச் சொல்லுமாறு மாடலுக்குக் கூறி, பயன்படுத்திய மூலங்களைக் காட்டும்.