Different Chunking Methods for RAG
Large Language Models-களுக்கு டோக்கன் வரம்புகள் (token limits) உள்ளன. இதைச் சரிசெய்ய, நீங்கள் chunking முறையைப் பயன்படுத்துகிறீர்கள். Chunking என்பது நீண்ட உரையைச் சிறிய துண்டுகளாகப் பிரிக்கிறது. இது உங்கள் மாடல் நினைவகத் தட்டுப்பாடு (memory) இல்லாமல் தரவைச் செயலாக்க உதவுகிறது.
நீங்கள் Retrieval-Augmented Generation (RAG) முறையைப் பயன்படுத்தினால், chunking மிகவும் முக்கியமானது. RAG என்பது மாடல்கள் தவறான தகவல்களை உருவாக்குவதைத் (hallucinations) தடுக்க ஒரு ஆதாரத்தை (source of truth) வழங்குகிறது. நீங்கள் உரையை embeddings எனப்படும் எண்களாக மாற்றி, அவற்றை ஒரு vector database-இல் சேமிக்கிறீர்கள்.
உங்கள் தேடலின் தரம் நீங்கள் உருவாக்கும் chunks-ஐப் பொறுத்தது. துண்டுகள் (chunks) மிகவும் பெரியதாகவோ அல்லது மிகவும் சிறியதாகவோ இருந்தால், AI சரியான பதிலைக் கண்டறிவதில் தோல்வியடையும்.
உங்கள் தரவை chunk செய்ய ஐந்து வழிகள் இங்கே உள்ளன:
Fixed-Size Chunking இந்த முறை ஒரு குறிப்பிட்ட எண்ணிக்கையிலான எழுத்துக்களின் அடிப்படையில் உரையைப் பிரிக்கிறது. இது வேகமானது மற்றும் செலவு குறைவானது. இருப்பினும், இது சூழலைப் (context) புரிந்துகொள்ளாது. இது பெரும்பாலும் வாக்கியங்களை பாதியிலேயே வெட்டிவிடும்.
Recursive Character Splitting இது தொழில்துறையில் தரமான முறையாகும் (industry standard). இது புதிய வரிகள் (newlines) மற்றும் இடைவெளிகள் (spaces) போன்ற பிரிப்பான்களின் வரிசைமுறையைப் பயன்படுத்துகிறது. இது தொடர்புடைய வாக்கியங்களை ஒரே தொகுப்பில் வைத்திருக்க முயற்சி செய்கிறது. பொதுவான கட்டுரைகளுக்கு இதைப் பயன்படுத்தவும்.
Document-Specific Chunking இந்த முறை உங்கள் கோப்பின் கட்டமைப்பைப் பார்க்கிறது. எல்லைகளைக் கண்டறிய இது HTML-இல் உள்ள tags அல்லது Markdown-இல் உள்ள headers-களைப் பயன்படுத்துகிறது. இது குறியீடுகள் (code) அல்லது குறிப்பிட்ட பகுதிகளை அப்படியே வைத்திருக்க உதவுகிறது.
Semantic Chunking இந்த முறை எழுத்துக்களுக்குப் பதிலாகப் பொருளைப் (meaning) பார்க்கிறது. ஒரே தலைப்பைப் பற்றி விவாதிக்கும் வாக்கியங்களை இது குழுவாகச் சேர்க்கிறது. இது ஒரே விஷயத்தைப் பற்றிய துண்டுகளை (chunks) உருவாக்குகிறது. இது செயல்பட ஒரு embedding model தேவைப்படுகிறது.
Agentic Chunking ஒரு AI agent உரையைப் படித்து எங்கு பிரிக்க வேண்டும் என்று தீர்மானிக்கிறது. அடுத்த பகுதிக்குச் செல்வதற்கு முன், ஒரு கருத்து முழுமையடைந்துவிட்டதா என்று அந்த agent கேட்கிறது. இது மிகவும் துல்லியமான முறையாகும், ஆனால் இதுவே மிகவும் மெதுவானது மற்றும் அதிக செலவு மிக்கது.
Quick Comparison:
• Fixed-Size: முன்மாதிரிகளுக்கு (prototypes) சிறந்தது. மிகவும் எளிதானது. $0 செலவு. • Recursive: பொதுவான உரைகளுக்குச் சிறந்தது. எளிதானது. $0 செலவு. • Document: குறியீடு (code) அல்லது HTML-க்குச் சிறந்தது. நடுத்தர சிரமம். $0 செலவு. • Semantic: ஆழமான ஆராய்ச்சிக்குச் சிறந்தது. கடினமானது. குறைந்த செலவு. • Agentic: அதிக துல்லியத்திற்குச் சிறந்தது. மிகவும் கடினமானது. அதிக செலவு.
சரியான உத்தியைத் தேர்ந்தெடுப்பது உங்கள் AI முடிவுகளை மாற்றும். இந்த முறைகள் குறித்த கூடுதல் விவரங்களை விரைவில் பகிர்ந்து கொள்கிறேன்.
Source: https://dev.to/yashbhoskar/different-chunking-methods-for-rag-j4g
Optional learning community: https://t.me/GyaanSetuAi
