MCP + RAG: কেন আমি জটিল RAG সিস্টেম তৈরি করা বন্ধ করে দিয়েছি
আমি জটিল RAG সিস্টেম তৈরি করতে চার বছর ব্যয় করেছি।
আমি chunking strategies, embedding models, vector databases এবং rerankers ব্যবহার করতাম। আমি আমার ১,৮০০ ঘণ্টার নলেজ বেসের জন্য একটি সিস্টেম তৈরি করেছিলাম। প্রতিবারই আমি ভাবতাম যে আমি এটিকে নিখুঁত করছি।
এটি কখনোই ভালোভাবে কাজ করেনি।
তারপর আমি Model Context Protocol (MCP) সাপোর্ট যোগ করলাম। এটি সবকিছু বদলে দিল। MCP অধিকাংশ মানুষের জন্য প্রথাগত জটিল RAG-কে অপ্রয়োজনীয় করে তুলেছে।
আমি এই সমস্যাগুলোর সাথে লড়াই করতাম:
- semantic নাকি recursive chunking-এর মধ্যে বেছে নেওয়া।
- OpenAI, Cohere, নাকি Nomic embeddings-এর মধ্যে বাছাই করা।
- Pinecone, Weaviate, নাকি Chroma-এর মধ্যে সিদ্ধান্ত নেওয়া।
- top-k retrieval এবং reranking ম্যানেজ করা।
আমার RAG সিস্টেমটি ২,০০০ লাইনের কোডে পৌঁছে গিয়েছিল। এটি দেখতে চিত্তাকর্ষক ছিল কিন্তু এটি ব্যর্থ হয়েছিল। আমি আমার ডেটাকে স্মার্ট করার চেষ্টা করছিলাম যখন AI নিজেই যথেষ্ট স্মার্ট ছিল।
আমি একটি MCP অ্যাপ্রোচ বা পদ্ধতিতে চলে গেলাম। আমি মাত্র ১৫০ লাইনের কোড দিয়ে একটি সার্ভার তৈরি করলাম।
আমি AI-কে মাত্র দুটি টুল দিলাম:
search_notes: নোট খুঁজে পেতে সাধারণ টেক্সট ম্যাচিং ব্যবহার করে।get_note_content: একটি নোটের সম্পূর্ণ টেক্সট প্রদান করে।
কোনো chunk নেই। কোনো জটিল embedding নেই। কোনো vector database নেই।
এই সহজ পদ্ধতিটি আমার চাকচিক্যময় RAG সিস্টেমকে ১০ বারের মধ্যে ৯ বার হারিয়ে দেয়। এর কারণগুলো হলো:
- AI লজিক সামলায়। একটি পূর্বনির্ধারিত chunker-এর চেয়ে কোনটি প্রাসঙ্গিক তা সিদ্ধান্ত নিতে AI অনেক বেশি দক্ষ।
- পূর্ণাঙ্গ প্রেক্ষাপট (Full context)। প্রথাগত RAG নোটগুলোকে ছোট ছোট টুকরোয় ভাগ করে ফেলে। এতে প্রায়ই উত্তরটি হারিয়ে যায়। MCP-এর মাধ্যমে AI পুরো নোটটি পড়তে পারে। এটি সম্পূর্ণ ধারণাটি বুঝতে পারে।
- পূর্বাভাসযোগ্যতা (Predictability)। টেক্সট সার্চ খুবই সহজ। যদি কিওয়ার্ডটি থাকে, তবে এটি কাজ করবে। আপনি embedding drift এবং dimension error এড়াতে পারেন।
আপনার প্রথাগত RAG ব্যবহার করা উচিত যদি:
- আপনার যদি ১,০০,০০০-এর বেশি বড় ডকুমেন্ট থাকে।
- আপনার যদি কম ল্যাটেন্সির সাথে হাই-স্কেল প্রোডাকশন প্রয়োজন হয়।
কিন্তু ব্যক্তিগত নলেজ বেস, সাইড প্রজেক্ট বা ইন্টারনাল টুলের জন্য আপনার এটির প্রয়োজন নেই।
MCP-এর সুবিধাসমূহ:
- রক্ষণাবেক্ষণ করা সহজ: ২,০০০ লাইনের পরিবর্তে মাত্র ১৫০ লাইন।
- কোনো embedding খরচ নেই: মডেল পরিবর্তন হলে আপনাকে ডেটা পুনরায় re-embed করতে হবে না।
- উন্নত নির্ভুলতা: AI পূর্ণাঙ্গ প্রেক্ষাপট পায়।
- ডিবাগ করা সহজ: একটি সার্চ কেন ব্যর্থ হয়েছে তা আপনি স্পষ্টভাবে দেখতে পারেন।
ওভার-ইঞ্জিনিয়ারিং করা বন্ধ করুন। AI-কে মূল কাজটি করতে দিন। এটিকে আপনার ডেটা ব্যবহারের সুযোগ দিন এবং পড়তে দিন।
Optional learning community: https://t.me/GyaanSetuAi
