इस प्रोजेक्ट के बारे में

PaperQA2 एक ओपन-सोर्स Python पैकेज और CLI टूल है जो वैज्ञानिक साहित्य और अन्य दस्तावेज़ प्रकारों पर उच्च-सटीक रिट्रीवल ऑगमेंटेड जनरेशन (RAG) के लिए डिज़ाइन किया गया है। यह PDF, सादा टेक्स्ट, Markdown, HTML, Microsoft Office फ़ाइलें (docx, xlsx, pptx), और सोर्स कोड फ़ाइलों को इन्जेस्ट करता है, फिर उपयोगकर्ता प्रश्नों का उत्तर विशिष्ट पृष्ठों और अनुच्छेदों की ओर इशारा करते हुए ग्राउंडेड, इन-टेक्स्ट उद्धरणों के साथ देता है। सिस्टम तीन-चरणीय एजेंटिक वर्कफ़्लो का पालन करता है: (1) पेपर सर्च, जहाँ एक LLM उम्मीदवार पेपर खोजने के लिए कीवर्ड क्वेरी उत्पन्न करता है और उन्हें स्थानीय फुल-टेक्स्ट सर्च इंडेक्स में चंक करता है; (2) एविडेंस इकट्ठा करना, जहाँ क्वेरी एम्बेड की जाती है, टॉप-के चंक रैंक किए जाते हैं, प्रत्येक चंक को संदर्भ में सारांशित किया जाता है, और एक LLM सबसे प्रासंगिक सारांशों को फिर से स्कोर और चुनता है; (3) उत्तर उत्पन्न करना, जहाँ सर्वश्रेष्ठ सारांशों को प्रॉम्प्ट में रखा जाता है और उत्तर तैयार किया जाता है। एक भाषा एजेंट इन टूल्स को किसी भी क्रम में बुला सकता है, जिससे क्वेरी और उत्तरों का पुनरावृत्तीय शोधन संभव होता है। मुख्य विशेषताओं में Semantic Scholar, Crossref, और Unpaywall से स्वचालित मेटाडेटा प्राप्त करना (उद्धरण गणना और रिट्रैक्शन जाँच सहित), दस्तावेज़ मेटाडेटा-जागरूक एम्बेडिंग, LLM-आधारित री-रैंकिंग और प्रासंगिक सारांशीकरण (RCS), और एक मजबूत अनुकूलन इंटरफ़ेस शामिल है। डिफ़ॉल्ट स्टैक OpenAI एम्बेडिंग और Numpy वेक्टर डेटाबेस के साथ मॉडल का उपयोग करता है, लेकिन PaperQA2 LiteLLM के साथ एकीकृत होता है ताकि लगभग किसी भी LLM प्रदाता का समर्थन किया जा सके, जिसमें Claude, Gemini, और llama.cpp के माध्यम से स्थानीय रूप से होस्ट किए गए मॉडल शामिल हैं। Sentence Transformers के माध्यम से स्थानीय एम्बेडिंग मॉडल भी समर्थित हैं। CLI टूल `pqa` त्वरित-प्रारंभ उपयोग प्रदान करता है: पेपर की निर्देशिका में नेविगेट करें और एक चरण में इंडेक्स, खोज और उत्तर देने के लिए `pqa ask 'What is PaperQA2?'` चलाएँ। बंडल सेटिंग्स (high_quality, fast, wikicrow, contracrow, debug, tier1_limits) विभिन्न उपयोग मामलों के लिए पूर्व-ट्यून किए गए कॉन्फ़िगरेशन प्रदान करती हैं, जिसमें विरोधाभास का पता लगाना और विकिपीडिया-शैली लेख लेखन शामिल है। API टियर प्रतिबंधों को समायोजित करने के लिए रेट लिमिटिंग प्रति मॉडल कॉन्फ़िगर करने योग्य है। Python लाइब्रेरी सिंक्रोनस और एसिंक्रोनस दोनों API प्रदान करती है। `ask` फ़ंक्शन एक सुविधाजनक रैपर प्रदान करता है, जबकि `agent_query` और प्रत्यक्ष `Docs` ऑब्जेक्ट हेरफेर दस्तावेज़ इन्जेस्टेशन और क्वेरीिंग पर सूक्ष्म-नियंत्रण की अनुमति देता है। `Docs` ऑब्जेक्ट फ़ाइलों, URL और कोड जोड़ने का समर्थन करता है, जिसमें साक्ष्य पुनर्प्राप्ति और क्वेरी के तरीके शामिल हैं। सभी पिछले उत्तर बाद की खोज के लिए अनुक्रमित और संग्रहीत किए जाते हैं। हाल के अपडेट (दिसंबर 2025) ने तालिकाओं, आंकड़ों, गैर-अंग्रेज़ी भाषाओं और गणित समीकरणों के लिए मल्टीमॉडल समर्थन जोड़ा; नए मॉडल-आधारित PDF रीडर (Docling और Nvidia nemotron-parse); Microsoft Office दस्तावेज़ पार्सिंग; मल्टीमॉडल प्रासंगिक सारांशीकरण जहाँ मीडिया ऑब्जेक्ट सारांश LLM को पास किए जाते हैं; और httpx का उपयोग करके एक सरलीकृत HTTP स्टैक। परियोजना दिसंबर 2025 में सिमेंटिक वर्ज़निंग से कैलेंडर वर्ज़निंग में स्थानांतरित हो गई। PaperQA2 Apache 2.0 के तहत लाइसेंस प्राप्त है और Python 3.11+ की आवश्यकता है। यह Semantic Scholar, Crossref, Unpaywall, Pydantic, tantivy, LiteLLM, और pybtex सहित लाइब्रेरी पर निर्भर करता है। परियोजना Future House द्वारा विकसित की गई है और इसे सहकर्मी-समीक्षित शोध में प्रकाशित किया गया है जो वैज्ञानिक प्रश्न उत्तर, सारांशीकरण और विरोधाभास का पता लगाने के कार्यों पर अति-मानवीय प्रदर्शन प्रदर्शित करता है।