PageIndex-এর গভীর বিশ্লেষণ: ভেক্টরবিহীন যুক্তিনির্ভর RAG, AI-কে মানুষের মতো বিশেষজ্ঞের মতো ডকুমেন্ট পড়তে দেয়
PageIndex হল Vectify AI টিম দ্বারা ওপেন সোর্স করা ভেক্টরবিহীন, যুক্তিনির্ভর RAG ফ্রেমওয়ার্ক (GitHub 14.8k+ stars)। এটি দীর্ঘ ডকুমেন্টকে স্তরীয় ট্রি ইন্ডেক্সে রূপান্তরিত করে, LLM ব্যবহার করে ট্রি-তে যুক্তিনির্ভর অনুসন্ধানের মাধ্যমে FinanceBench আর্থিক ডকুমেন্ট প্রশ্ন-উত্তর বেঞ্চমার্কে 98.7% নির্ভুলতা অর্জন করে।

1. প্রেক্ষাপট: ঐতিহ্যবাহী RAG-এর পাঁচটি দুর্বলতা
RAG এখন বৃহৎ মডেল অ্যাপ্লিকেশনের একটি বাস্তব মানদণ্ড। মূলধারার সমাধানগুলি প্রিপ্রসেসিং পর্যায়ে ডকুমেন্টকে নির্দিষ্ট দৈর্ঘ্যের চঙ্কে বিভক্ত করে, এম্বেডিং মডেলের মাধ্যমে ভেক্টরে রূপান্তরিত করে এবং ভেক্টর ডেটাবেসে সংরক্ষণ করে; অনুসন্ধানের সময়, ব্যবহারকারীর প্রশ্নের একই এম্বেডিং করা হয় এবং ভেক্টর সাদৃশ্যের মাধ্যমে শীর্ষ-K ফলাফল পুনরুদ্ধার করা হয়, যা LLM-এর ইনপুট প্রসঙ্গ হিসাবে একত্রিত করা হয়।
এই প্রক্রিয়াটি ছোট টেক্সট এবং সাধারণ পরিস্থিতিতে কার্যকর, কিন্তু পেশাদার দীর্ঘ ডকুমেন্ট (আর্থিক প্রতিবেদন, আইন ও বিধি, প্রযুক্তিগত ম্যানুয়াল ইত্যাদি) পরিস্থিতিতে পাঁচটি মৌলিক সমস্যা প্রকাশ করে:
1) সাদৃশ্য ≠ প্রাসঙ্গিকতা। ভেক্টর পুনরুদ্ধার অনুমান করে যে "শব্দার্থগতভাবে সবচেয়ে অনুরূপ টেক্সট ব্লক = সবচেয়ে প্রাসঙ্গিক উত্তরের উৎস", কিন্তু পেশাদার ডকুমেন্টগুলিতে, প্রচুর অনুচ্ছেদ প্রায় একই রকম শব্দার্থ ভাগ করে নেয় কিন্তু গুরুত্বপূর্ণ বিবরণে বিশাল পার্থক্য থাকে।
2) কঠিন বিভাজন প্রসঙ্গটির সম্পূর্ণতা নষ্ট করে। 512 বা 1024 টোকেনের একটি নির্দিষ্ট উইন্ডো অনুসারে ডকুমেন্টকে বিভক্ত করলে বাক্য, অনুচ্ছেদ বা এমনকি পুরো লজিক্যাল বিভাগটি কেটে যেতে পারে, যার ফলে গুরুত্বপূর্ণ প্রসঙ্গ হারিয়ে যায়।
3) অনুসন্ধানের উদ্দেশ্য এবং জ্ঞানের স্থানের মধ্যে অমিল। ব্যবহারকারীর অনুসন্ধান একটি "উদ্দেশ্য" প্রকাশ করে, "বিষয়বস্তু" নয়, query embedding এবং document embedding ভিন্ন শব্দার্থিক স্থানে থাকে।
4) ডকুমেন্টের অভ্যন্তরীণ উদ্ধৃতিগুলি প্রক্রিয়া করতে অক্ষম। পেশাদার ডকুমেন্টগুলিতে প্রায়শই "বিস্তারিত জানার জন্য পরিশিষ্ট G দেখুন" বা "সারণী 5.3 দেখুন" জাতীয় উদ্ধৃতি থাকে। এই উদ্ধৃতি এবং উদ্ধৃত বিষয়বস্তুর মধ্যে কোনও শব্দার্থিক সাদৃশ্য নেই, তাই ভেক্টর পুনরুদ্ধার মিল খুঁজে বের করতে পারে না।
5) স্বতন্ত্র অনুসন্ধান, কথোপকথনের ইতিহাস ব্যবহার করতে অক্ষম। প্রতিটি অনুসন্ধানকে একটি স্বতন্ত্র অনুরোধ হিসাবে বিবেচনা করা হয়, পূর্ববর্তী কথোপকথনের প্রসঙ্গ ব্যবহার করে ক্রমবর্ধমান অনুসন্ধান করা যায় না।
2. PageIndex-এর সামগ্রিক আর্কিটেকচার
PageIndex হল একটি ভেক্টরবিহীন (Vectorless), যুক্তিনির্ভর (Reasoning-based) RAG ফ্রেমওয়ার্ক। এর মূল ধারণা হল: মডেলকে ভেক্টর স্পেসে আনুমানিক মিল করার পরিবর্তে, ডকুমেন্টের স্ট্রাকচার্ড উপস্থাপনার উপর ভিত্তি করে যুক্তি তৈরি করতে দেওয়া - শুধুমাত্র "কী দেখতে একই রকম" তা নয়, বরং "কোথায় দেখতে হবে" তা নির্ধারণ করা।
PageIndex একটি দীর্ঘ ডকুমেন্ট পড়ার ক্ষেত্রে মানুষের বিশেষজ্ঞদের পদ্ধতি অনুকরণ করে: প্রথমে সূচিপত্র দেখে, প্রশ্নের ভিত্তিতে প্রাসঙ্গিক অধ্যায়গুলি নির্ধারণ করে এবং লক্ষ্যবস্তু খুঁজে না পাওয়া পর্যন্ত ধীরে ধীরে গভীরে যায়। এই প্রক্রিয়াটি দুটি ধাপে সম্পন্ন করা হয়:
- ট্রি স্ট্রাকচার ইন্ডেক্স তৈরি করা: PDF/Markdown ডকুমেন্টকে স্তরীয় JSON ট্রিতে রূপান্তরিত করা, যা অনেকটা "LLM-এর জন্য অপ্টিমাইজ করা সূচিপত্রের" মতো।
- যুক্তিনির্ভর ট্রি অনুসন্ধান: LLM প্রশ্নের ভিত্তিতে ট্রিতে যুক্তি তৈরি করে নেভিগেট করে, প্রাসঙ্গিক নোডগুলি সনাক্ত করে, বিষয়বস্তু নিষ্কাশন করে এবং উত্তর তৈরি করে।

3. মূল মডিউলগুলির বিশ্লেষণ
3.1 PDF প্রক্রিয়াকরণ পাইপলাইন
PageIndex-এর PDF প্রক্রিয়াকরণ পাইপলাইনটি tree_parser() ফাংশন দ্বারা সাজানো হয়। মূল প্রক্রিয়াগুলির মধ্যে রয়েছে: সূচিপত্র সনাক্তকরণ (তিনটি মোড শাখা), ভূমিকা যোগ করা, ফ্ল্যাট তালিকা থেকে স্তরীয় ট্রিতে রূপান্তর, বৃহৎ নোডগুলির পুনরাবৃত্তিমূলক উপবিভাজন, নোডগুলিকে সমৃদ্ধ করা, JSON ট্রি স্ট্রাকচার আউটপুট।
তিনটি প্রক্রিয়াকরণ মোড:
- process_toc_with_page_numbers (সূচিপত্র + পৃষ্ঠা নম্বর সহ): LLM ব্যবহার করে মূল সূচিপত্রকে স্ট্রাকচার্ড JSON-এ রূপান্তর করা, লজিক্যাল পৃষ্ঠা নম্বরগুলিকে ফিজিক্যাল পৃষ্ঠা নম্বরের সাথে ম্যাপ করা।
- process_no_toc (সূচিপত্র ছাড়া): LLM সরাসরি মূল টেক্সট থেকে স্তরীয় কাঠামো অনুমান করে।
- process_toc_no_page_numbers (সূচিপত্র আছে কিন্তু পৃষ্ঠা নম্বর নেই): কাঠামো নিষ্কাশন করার পরে ফিজিক্যাল পৃষ্ঠা নম্বরগুলি অনুমান করে যোগ করা হয়।
3.2 ট্রি স্ট্রাকচার ডেটা মডেল
ট্রির প্রতিটি নোডে নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত থাকে: title, node_id, start_index, end_index, summary, prefix_summary, text, nodes (সাবনোড অ্যারে) ইত্যাদি।
3.3 যুক্তিনির্ভর পুনরুদ্ধার প্রক্রিয়া
পুনরুদ্ধার পর্যায়ে কোনও ভেক্টর গণনার উপর নির্ভর করা হয় না। LLM ব্যবহারকারীর প্রশ্ন এবং ডকুমেন্ট ট্রি স্ট্রাকচার গ্রহণ করে, নোডের শিরোনাম এবং সারসংক্ষেপের উপর ভিত্তি করে যুক্তি তৈরি করে এবং এর "চিন্তা প্রক্রিয়া" এবং প্রাসঙ্গিক node_id-এর তালিকা আউটপুট করে। সিস্টেম তখন node_id-এর উপর ভিত্তি করে node_map থেকে সংশ্লিষ্ট নোডের সম্পূর্ণ টেক্সট নিষ্কাশন করে, একত্রিত করে এবং LLM-কে চূড়ান্ত উত্তর তৈরি করার জন্য দেয়।

4. মূল ডিজাইন হাইলাইট
- ভেক্টরবিহীন আর্কিটেকচার: এম্বেডিং মডেল এবং ভেক্টর ডেটাবেসের প্রয়োজন নেই, অবকাঠামো খরচ হ্রাস করে এবং স্থাপন সরল করে।
- ডকুমেন্টের স্বাভাবিক কাঠামো বজায় রাখা: ডকুমেন্টের অন্তর্নিহিত অধ্যায়/উপধারা/অধ্যায় অনুসারে বিষয়বস্তু সংগঠিত করা, চঙ্ক জুড়ে প্রসঙ্গের ক্ষতি এড়ানো।
- পুনরুদ্ধারের ব্যাখ্যাযোগ্যতা: প্রতিটি পুনরুদ্ধার সম্পূর্ণ যুক্তির চেইন প্রদান করে, যা উচ্চ সম্মতির প্রয়োজনীয়তা সম্পন্ন পরিস্থিতিতে একটি সুস্পষ্ট সুবিধা।
5. মূল্যায়ন ফলাফল
Mafin 2.5 হল PageIndex-এর উপর ভিত্তি করে তৈরি একটি আর্থিক ডকুমেন্ট প্রশ্ন-উত্তর সিস্টেম। FinanceBench (আর্থিক ডকুমেন্ট QA বেঞ্চমার্ক পরীক্ষা)-এ এর নির্ভুলতা 98.7%, যা Perplexity (45%) এবং GPT-4o (31%) থেকে অনেক বেশি।

6. উপযুক্ত পরিস্থিতি
উপযুক্ত: সুস্পষ্ট স্তরীয় কাঠামোযুক্ত দীর্ঘ ডকুমেন্ট (আর্থিক প্রতিবেদন, বিধি, পাঠ্যপুস্তক, ম্যানুয়াল), যা কয়েক ডজন থেকে কয়েকশ পৃষ্ঠা পর্যন্ত বিস্তৃত।
উপযুক্ত নয়: অসংগঠিত বিষয়বস্তুর ডকুমেন্ট, OCR ছাড়া স্ক্যান করা ডকুমেন্ট, টেবিল/চার্ট-ভিত্তিক ডকুমেন্ট, মিলি সেকেন্ডে রিয়েল-টাইম প্রতিক্রিয়ার প্রয়োজনীয় পরিস্থিতি।
7. সারসংক্ষেপ
PageIndex-এর মূল অবদান হল একটি ব্যবহারিক ভেক্টরবিহীন RAG দৃষ্টান্ত প্রস্তাব করা: ডকুমেন্টের স্বাভাবিক কাঠামো ব্যবহার করে ট্রি ইন্ডেক্স তৈরি করা এবং ভেক্টর সাদৃশ্য অনুসন্ধানের পরিবর্তে LLM যুক্তি ব্যবহার করা। এই সমাধানটি সুস্পষ্ট স্তরীয় কাঠামোযুক্ত পেশাদার দীর্ঘ ডকুমেন্টের পরিস্থিতিতে চমৎকার পারফর্ম করে এবং ঐতিহ্যবাহী সমাধানের চেয়ে এর ব্যাখ্যাযোগ্যতা এবং নিরীক্ষণযোগ্যতা উল্লেখযোগ্যভাবে ভালো।





