RAG Chunking തന്ത്രങ്ങൾ: മികച്ച റിട്രീവലിനായി ഡോക്യുമെന്റുകൾ വിഭജിക്കുക
മിക്ക RAG പരാജയങ്ങളും സംഭവിക്കുന്നത് നിങ്ങൾ ഡോക്യുമെന്റുകൾ എങ്ങനെ വിഭജിക്കുന്നു എന്നതിനാലാണ്.
നിങ്ങളുടെ റിട്രീവൽ (retrieval) മോശമാണെങ്കിൽ, ആദ്യം നിങ്ങളുടെ പ്രോംപ്റ്റോ (prompt) LLM-ഓ മാറ്റാൻ ശ്രമിക്കരുത്. പകരം നിങ്ങളുടെ ചങ്ക്സുകൾ (chunks) പരിശോധിക്കുക. ശരിയായ വിവരങ്ങൾ നിങ്ങളുടെ ഡാറ്റാബേസിൽ ഉണ്ടെങ്കിലും സിസ്റ്റത്തിന് അത് കണ്ടെത്താൻ കഴിയുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ ചങ്കിംഗ് തന്ത്രമായിരിക്കാം (chunking strategy) പ്രശ്നം.
മോശം ചങ്കിംഗ് പ്രധാനമായും മൂന്ന് പ്രശ്നങ്ങൾക്ക് കാരണമാകുന്നു:
• ബൗണ്ടറി ട്രങ്കേഷൻ (Boundary truncation): ഉത്തരമുള്ള ഒരു വാചകം രണ്ട് ഭാഗങ്ങളായി വിഭജിക്കപ്പെടുന്നു. ഒരു ക്വറിmatched ആകാൻ ആവശ്യമായ വിവരങ്ങൾ ഈ രണ്ട് ഭാഗങ്ങളിലും ഉണ്ടാകില്ല. • കോൺടെക്സ്റ്റ് ഡൈല്യൂഷൻ (Context dilution): ഒരു വലിയ ചങ്കിൽ ഒരു പ്രസക്തമായ വാചകവും പത്ത് ഉപയോഗശൂന്യമായ വാചകങ്ങളും ഉണ്ടാകുന്നു. അധികമായ ഈ ടെക്സ്റ്റ് സെമാന്റിക് സിഗ്നലിനെ (semantic signal) ദുർബലപ്പെടുത്തുന്നു. • മെറ്റാഡാറ്റയുടെ അഭാവം (Missing metadata): ചങ്ക്സുകളിൽ അവയുടെ ഉറവിടത്തെക്കുറിച്ചോ തീയതിയെക്കുറിച്ചോ ഉള്ള വിവരങ്ങൾ ഇല്ലാത്തതിനാൽ ഫിൽട്ടർ ചെയ്തുള്ള സെർച്ച് അസാധ്യമാകുന്നു.
നിങ്ങളുടെ പൈപ്പ്ലൈൻ ശരിയാക്കാൻ ഈ നാല് തന്ത്രങ്ങൾ ഉപയോഗിക്കുക:
ഫിക്സഡ്-സൈസ് ചങ്കിംഗ് (Fixed-size chunking) റിപ്പോർട്ടുകൾ അല്ലെങ്കിൽ ലേഖനങ്ങൾ പോലുള്ള നീളമുള്ള, തുടർച്ചയായ ഗദ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യം. • 256 മുതൽ 512 ടോക്കണുകൾ (tokens) ഉപയോഗിക്കുക. • വാചകങ്ങൾ വിഭജിക്കപ്പെടുന്നത് ഒഴിവാക്കാൻ 10% മുതൽ 15% വരെ ഓവർലാപ്പ് (overlap) നൽകുക.
സെമാന്റിക് ചങ്കിംഗ് (Semantic chunking) FAQ-കൾ അല്ലെങ്കിൽ സപ്പോർട്ട് ഡോക്യുമെന്റുകൾ പോലുള്ള ഉയർന്ന ഡെൻസിറ്റിയുള്ള ടെക്സ്റ്റുകൾക്ക് ഏറ്റവും അനുയോജ്യം. • ഇത് ടോക്കൺ എണ്ണത്തിന് പകരം വിഷയത്തിലെ മാറ്റങ്ങൾ (topic shifts) അടിസ്ഥാനമാക്കിയാണ് ടെക്സ്റ്റ് വിഭജിക്കുന്നത്. • ഇത് പൂർണ്ണമായ ആശയങ്ങളെ ഒരുമിച്ച് നിലനിർത്തുന്നു.
സ്ട്രക്ചറൽ ചങ്കിംഗ് (Structural chunking) ടെക്നിക്കൽ ഡോക്യുമെന്റുകൾ, Markdown അല്ലെങ്കിൽ HTML എന്നിവയ്ക്ക് ഏറ്റവും അനുയോജ്യം. • ഇത് ഹെഡറുകൾ (H1, H2, H3) അടിസ്ഥാനമാക്കിയാണ് ടെക്സ്റ്റ് വിഭജിക്കുന്നത്. • ഇത് മെറ്റാഡാറ്റ ചേർക്കുന്നു, അതിനാൽ നിങ്ങൾക്ക് സെക്ഷനുകൾ അനുസരിച്ച് റിട്രീവൽ ഫിൽട്ടർ ചെയ്യാം.
ഹൈരാർക്കിക്കൽ (Parent-Child) ചങ്കിംഗ് കൃത്യതയും (precision) കോൺടെക്സ്റ്റും (context) ഒരുപോലെ ആവശ്യമുള്ള പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യം. • കൃത്യമായ വെക്റ്റർ സെർച്ചിനായി (vector search) ചെറിയ ചൈൽഡ് ചങ്ക്സുകൾ (64-128 tokens) നിർമ്മിക്കുക. • LLM-ന് വായിക്കാൻ അവയെ വലിയ പാരന്റ് ചങ്ക്സുകളുമായി (512-1024 tokens) ബന്ധിപ്പിക്കുക. • ഇത് നിങ്ങൾക്ക് രണ്ട് ഗുണങ്ങളും നൽകുന്നു.
നിങ്ങളുടെ സൈസ് എങ്ങനെ തിരഞ്ഞെടുക്കാം:
• 128–256 ടോക്കണുകൾ: ഫാക്ട്-ലുക്കപ്പിനും (fact-lookup) ടെക്നിക്കൽ ഡോക്യുമെന്റുകൾക്കും നല്ലതാണ്. • 256–512 ടോക്കണുകൾ: പൊതുവായ ഉപയോഗത്തിന് മികച്ചൊരു തുടക്കമാണ്. • 512–1024 ടോക്കണുകൾ: ദീർഘമായ വിശകലന ചോദ്യങ്ങൾക്ക് (analytical questions) ഉപയോഗിക്കുക.
ഗോൾഡൻ റൂൾ: നിങ്ങളുടെ തന്ത്രം നടപ്പിലാക്കുന്നതിന് മുമ്പ് എപ്പോഴും അത് പരിശോധിക്കുക.
30 മുതൽ 50 വരെ യഥാർത്ഥ ക്വറികൾ (queries) തയ്യാറാക്കുക. ശരിയായ ഉത്തരങ്ങൾ അടയാളപ്പെടുത്തുക. നിങ്ങളുടെ recall@3 അളക്കുക. നിങ്ങളുടെ recall 80%-ന് മുകളിൽ എത്തുന്നതുവരെ എംബെഡിംഗ് മോഡൽ (embedding model) മാറ്റരുത്.
Optional learning community: https://t.me/GyaanSetuAi
