PageIndex चे सखोल विश्लेषण: व्हेक्टरशिवाय अनुमान-आधारित RAG, AI ला मानवी तज्ञांसारखे दस्तऐवज वाचायला शिकवते
PageIndex हे Vectify AI टीमने ओपन-सोर्स केलेले व्हेक्टरशिवायचे, अनुमान-आधारित RAG फ्रेमवर्क आहे (GitHub 14.8k+ stars). हे मोठ्या दस्तऐवजांना श्रेणीबद्ध ट्री इंडेक्समध्ये रूपांतरित करते, LLM चा वापर करून ट्रीवर अनुमान-आधारित शोध करते आणि FinanceBench वित्तीय दस्तऐवज प्रश्न-उत्तर बेंचमार्कवर 98.7% अचूकता प्राप्त करते.

1. पार्श्वभूमी: पारंपरिक RAG च्या पाच समस्या
RAG हे मोठ्या मॉडेल ऍप्लिकेशन्ससाठी एक प्रमाणित उपाय बनले आहे. मुख्य प्रवाहातील उपाय पूर्व-प्रक्रिया टप्प्यात दस्तऐवजांना निश्चित लांबीच्या चंक्समध्ये विभाजित करतात, एम्बेडिंग मॉडेलद्वारे व्हेक्टरमध्ये रूपांतरित करतात आणि व्हेक्टर डेटाबेसमध्ये संग्रहित करतात; क्वेरी करताना, वापरकर्त्याच्या प्रश्नाचे समान एम्बेडिंग केले जाते आणि नंतर व्हेक्टर समानता शोधाद्वारे टॉप-के परिणाम परत मिळवले जातात, जे LLM च्या इनपुट संदर्भासाठी एकत्र जोडले जातात.
ही प्रक्रिया लहान मजकूर आणि सामान्य परिस्थितीत प्रभावी आहे, परंतु व्यावसायिक मोठ्या दस्तऐवजांच्या (आर्थिक अहवाल, कायदे आणि नियम, तांत्रिक पुस्तिका इ.) परिस्थितीत, पाच मूलभूत समस्या समोर येतात:
1) समानता ≠ प्रासंगिकता. व्हेक्टर शोध गृहीत धरतो की "सर्वात अर्थपूर्ण समान मजकूर ब्लॉक = सर्वात संबंधित उत्तराचा स्रोत", परंतु व्यावसायिक दस्तऐवजांमध्ये, मोठ्या प्रमाणात परिच्छेद समान अर्थ सामायिक करतात परंतु महत्त्वाच्या तपशीलांमध्ये खूप भिन्न असतात.
2) हार्ड चंकिंगमुळे संदर्भाची अखंडता खंडित होते. 512 किंवा 1024 टोकनच्या निश्चित विंडोद्वारे दस्तऐवजांचे विभाजन केल्याने वाक्ये, परिच्छेद किंवा संपूर्ण तार्किक विभाग खंडित होतात, ज्यामुळे महत्त्वाचा संदर्भ गहाळ होतो.
3) क्वेरीचा हेतू आणि ज्ञानाची जागा चुकीची जुळतात. वापरकर्त्याची क्वेरी "हेतू" व्यक्त करते, "सामग्री" नाही, क्वेरी एम्बेडिंग आणि डॉक्युमेंट एम्बेडिंग वेगवेगळ्या अर्थपूर्ण जागांमध्ये असतात.
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 अनुमानाने वेक्टर समानता शोधाला पर्याय देणे. हा उपाय स्पष्ट श्रेणीबद्ध रचना असलेल्या व्यावसायिक मोठ्या दस्तऐवजांच्या परिस्थितीत उत्कृष्ट कार्यप्रदर्शन करतो आणि पारंपरिक उपायांपेक्षा त्याची स्पष्टता आणि ऑडिट क्षमता लक्षणीयरीत्या चांगली आहे.





