MCP + RAG: എന്തുകൊണ്ടാണ് ഞാൻ സങ്കീർണ്ണമായ RAG സിസ്റ്റങ്ങൾ നിർമ്മിക്കുന്നത് നിർത്തിയത്
സങ്കീർണ്ണമായ RAG സിസ്റ്റങ്ങൾ നിർമ്മിക്കുന്നതിനായി ഞാൻ നാല് വർഷം ചെലവഴിച്ചു.
ഞാൻ chunking strategies, embedding models, vector databases, rerankers എന്നിവ ഉപയോഗിച്ചു. എന്റെ 1,800 മണിക്കൂർ നീളുന്ന knowledge base-നായി ഞാൻ ഒരു സിസ്റ്റം നിർമ്മിച്ചു. ഓരോ തവണയും ഞാൻ അത് പൂർണ്ണതയിലെത്തിക്കുകയാണെന്ന് ഞാൻ കരുതി.
അത് ഒരിക്കലും നന്നായി പ്രവർത്തിച്ചില്ല.
പിന്നീട് ഞാൻ Model Context Protocol (MCP) സപ്പോർട്ട് ചേർത്തു. അത് എല്ലാം മാറ്റിമറിച്ചു. മിക്ക ആളുകൾക്കും പരമ്പരാഗതമായ സങ്കീർണ്ണമായ RAG രീതികൾ അനാവശ്യമാക്കാൻ MCP-ക്ക് കഴിയും.
ഞാൻ ഈ പ്രശ്നങ്ങളുമായി പോരാടിയിരുന്നു:
- semantic അല്ലെങ്കിൽ recursive chunking എന്നിവയിൽ നിന്ന് തിരഞ്ഞെടുക്കുന്നത്.
- OpenAI, Cohere, അല്ലെങ്കിൽ Nomic embeddings എന്നിവയിൽ നിന്ന് തിരഞ്ഞെടുക്കുന്നത്.
- Pinecone, Weaviate, അല്ലെങ്കിൽ Chroma എന്നിവയിൽ നിന്ന് തീരുമാനമെടുക്കുന്നത്.
- top-k retrieval, reranking എന്നിവ നിയന്ത്രിക്കുന്നത്.
എന്റെ RAG സിസ്റ്റം 2,000 വരി കോഡുകളോളം എത്തി. അത് കാണാൻ മികച്ചതായിരുന്നുവെങ്കിലും പരാജയപ്പെട്ടു. AI ഇതിനകം തന്നെ ബുദ്ധിമാനായിരിക്കെ, ഞാൻ എന്റെ ഡാറ്റയെ ബുദ്ധിമാനാക്കാൻ ശ്രമിക്കുകയായിരുന്നു.
ഞാൻ ഒരു MCP സമീപനത്തിലേക്ക് മാറി. വെറും 150 വരി കോഡുകൾ മാത്രം ഉപയോഗിച്ച് ഞാൻ ഒരു സെർവർ നിർമ്മിച്ചു.
ഞാൻ AI-ക്ക് രണ്ട് ടൂളുകൾ മാത്രമേ നൽകിയുള്ളൂ:
search_notes: നോട്ട്സ് കണ്ടെത്താൻ ലളിതമായ ടെക്സ്റ്റ് മാച്ചിംഗ് ഉപയോഗിക്കുന്നു.get_note_content: ഒരു നോട്ടിന്റെ പൂർണ്ണരൂപം നൽകുന്നു.
ചങ്കുകൾ (chunks) ഇല്ല. സങ്കീർണ്ണമായ എംബെഡിംഗുകൾ ഇല്ല. വെക്റ്റർ ഡാറ്റാബേസുകൾ ഇല്ല.
ഈ ലളിതമായ രീതി എന്റെ ആഡംബരപൂർണ്ണമായ RAG സിസ്റ്റത്തെ പത്തിൽ ഒമ്പത് തവണയും തോൽപ്പിക്കുന്നു. അതിന്റെ കാരണങ്ങൾ ഇതാ:
- AI ലോജിക് കൈകാര്യം ചെയ്യുന്നു. മുൻകൂട്ടി നിശ്ചയിച്ച ഒരു chunker-നേക്കാൾ എന്താണ് പ്രസക്തമെന്ന് തീരുമാനിക്കാൻ AI-ക്ക് കൂടുതൽ കഴിവുണ്ട്.
- പൂർണ്ണമായ സന്ദർഭം (Full context). പരമ്പരാഗത RAG നോട്ട്സിനെ ചെറിയ കഷണങ്ങളായി മുറിക്കുന്നു. ഇത് പലപ്പോഴും ഉത്തരങ്ങൾ നഷ്ടപ്പെടാൻ കാരണമാകുന്നു. MCP ഉപയോഗിക്കുമ്പോൾ, AI മുഴുവൻ നോറ്റും വായിക്കുന്നു. അത് പൂർണ്ണമായ ആശയം മനസ്സിലാക്കുന്നു.
- പ്രവചിക്കാവുന്നതാണ് (Predictability). ടെക്സ്റ്റ് സെർച്ച് ലളിതമാണ്. കീവേഡ് ഉണ്ടെങ്കിൽ അത് പ്രവർത്തിക്കും. എംബെഡിംഗ് ഡ്രിഫ്റ്റും (embedding drift) ഡൈമൻഷൻ പിശകുകളും ഇതിലൂടെ ഒഴിവാക്കാം.
താഴെ പറയുന്ന സാഹചര്യങ്ങളിൽ നിങ്ങൾക്ക് ഇപ്പോഴും പരമ്പരാഗത RAG ഉപയോഗിക്കാം:
- നിങ്ങൾക്ക് 100,000-ലധികം വലിയ ഡോക്യുമെന്റുകൾ ഉണ്ടെങ്കിൽ.
- കുറഞ്ഞ ലേറ്റൻസിയിൽ (low latency) ഉയർന്ന സ്കെയിലിലുള്ള പ്രൊഡക്ഷൻ ആവശ്യമാണെങ്കിൽ.
എന്നാൽ വ്യക്തിഗത നോളജ് ബേസുകൾക്കും, സൈഡ് പ്രോജക്റ്റുകൾക്കും, അല്ലെങ്കിൽ ഇന്റേണൽ ടൂളുകൾക്കും ഇതിന്റെ ആവശ്യമില്ല.
MCP-യുടെ ഗുണങ്ങൾ:
- പരിപാലിക്കാൻ എളുപ്പമാണ്: 2,000-ന് പകരം 150 വരികൾ മാത്രം.
- എംബെഡിംഗ് ചിലവുകൾ ഇല്ല: മോഡലുകൾ മാറുമ്പോൾ ഡാറ്റ വീണ്ടും എംബെഡ് ചെയ്യേണ്ടതില്ല.
- മികച്ച കൃത്യത: AI-ക്ക് പൂർണ്ണമായ സന്ദർഭം ലഭിക്കുന്നു.
- ഡീബഗ് ചെയ്യാൻ എളുപ്പമാണ്: ഒരു സെർച്ച് പരാജയപ്പെട്ടത് എന്തുകൊണ്ടാണെന്ന് കൃത്യമായി കാണാൻ സാധിക്കും.
അനാവശ്യമായ എഞ്ചിനീയറിംഗ് (over-engineering) നിർത്തുക. കഠിനമായ ജോലികൾ AI-യെ ചെയ്യാൻ അനുവദിക്കുക. നിങ്ങളുടെ ഡാറ്റ ഉപയോഗിക്കാൻ അതിന് അനുമതി നൽകുക, അത് വായിക്കാൻ അനുവദിക്കുക.
Optional learning community: https://t.me/GyaanSetuAi
