RAG-এর জন্য বিভিন্ন Chunking পদ্ধতি

Large Language Model-গুলোর টোকেন লিমিট থাকে। এটি সমাধান করার জন্য আপনি chunking ব্যবহার করেন। Chunking দীর্ঘ টেক্সটকে ছোট ছোট অংশে বিভক্ত করে। এটি আপনার মডেলকে মেমরি শেষ না করেই ডেটা প্রসেস করতে সাহায্য করে।

আপনি যদি Retrieval-Augmented Generation (RAG) ব্যবহার করেন, তবে chunking অত্যন্ত গুরুত্বপূর্ণ। RAG মডেলগুলোকে hallucination রোধ করার জন্য একটি source of truth প্রদান করে। আপনি টেক্সটকে embeddings নামক সংখ্যায় রূপান্তর করেন এবং সেগুলো একটি vector database-এ সংরক্ষণ করেন।

আপনার সার্চের মান আপনার chunks-এর ওপর নির্ভর করে। যদি chunks খুব বড় বা খুব ছোট হয়, তবে AI সঠিক উত্তর খুঁজে পেতে ব্যর্থ হয়।

আপনার ডেটা chunk করার পাঁচটি পদ্ধতি নিচে দেওয়া হলো:

  • Fixed-Size Chunking এই পদ্ধতিটি একটি নির্দিষ্ট সংখ্যক ক্যারেক্টার অনুযায়ী টেক্সটকে বিভক্ত করে। এটি দ্রুত এবং সাশ্রয়ী। তবে, এটি কনটেক্সট বা প্রেক্ষাপট বুঝতে পারে না। এটি প্রায়ই বাক্যকে মাঝপথে কেটে ফেলে।

  • Recursive Character Splitting এটি ইন্ডাস্ট্রির স্ট্যান্ডার্ড। এটি newline এবং space-এর মতো সেপারেটরগুলোর একটি হায়ারার্কি ব্যবহার করে। এটি সম্পর্কিত বাক্যগুলোকে একটি ব্লকের মধ্যে রাখার চেষ্টা করে। সাধারণ আর্টিকেলের জন্য এটি ব্যবহার করুন।

  • Document-Specific Chunking এই পদ্ধতিটি আপনার ফাইলের গঠন বা স্ট্রাকচার দেখে। এটি সীমানা নির্ধারণ করতে HTML-এর ট্যাগ বা Markdown-এর হেডার ব্যবহার করে। এটি কোড বা নির্দিষ্ট সেকশনগুলোকে অক্ষত রাখে।

  • Semantic Chunking এই পদ্ধতিটি ক্যারেক্টারের পরিবর্তে অর্থের ওপর ভিত্তি করে কাজ করে। এটি একই বিষয় নিয়ে আলোচনা করা বাক্যগুলোকে গ্রুপ করে। এটি এমন chunk তৈরি করে যা একটি নির্দিষ্ট বিষয়ের ওপর ভিত্তি করে থাকে। এটি কাজ করার জন্য একটি embedding model প্রয়োজন হয়।

  • Agentic Chunking একটি AI agent টেক্সটটি পড়ে সিদ্ধান্ত নেয় কোথায় এটি বিভক্ত করা হবে। এজেন্ট পরবর্তী ধাপে যাওয়ার আগে যাচাই করে যে একটি চিন্তা বা ভাব সম্পূর্ণ হয়েছে কি না। এটি সবচেয়ে নির্ভুল পদ্ধতি কিন্তু এটি সবচেয়ে ধীর এবং ব্যয়বহুল।

দ্রুত তুলনা:

• Fixed-Size: প্রোটোটাইপের জন্য সেরা। খুব সহজ। $0 খরচ। • Recursive: সাধারণ টেক্সটের জন্য সেরা। সহজ। $0 খরচ। • Document: কোড বা HTML-এর জন্য সেরা। মাঝারি কঠিন। $0 খরচ। • Semantic: গভীর গবেষণার জন্য সেরা। কঠিন। কম খরচ। • Agentic: উচ্চ নির্ভুলতার জন্য সেরা। খুব কঠিন। উচ্চ খরচ।

সঠিক কৌশল নির্বাচন আপনার AI-এর ফলাফল বদলে দিতে পারে। আমি শীঘ্রই এই পদ্ধতিগুলোর আরও বিস্তারিত তথ্য শেয়ার করব।

Source: https://dev.to/yashbhoskar/different-chunking-methods-for-rag-j4g

Optional learning community: https://t.me/GyaanSetuAi