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

अनस्ट्रक्चर्ड अनस्ट्रक्चर्ड डेटा के लिए एक ओपन-सोर्स प्री-प्रोसेसिंग लाइब्रेरी है। यह इमेज और टेक्स्ट दस्तावेज़ों — PDF, HTML, वर्ड दस्तावेज़, ईमेल और कई अन्य फॉर्मेट — को इन्जेस्ट और पार्टीशन करता है और उन्हें लैंग्वेज मॉडल वर्कफ़्लो के लिए उपयुक्त संरचित आउटपुट में बदल देता है। मुख्य क्षमताएँ - एक `partition` फ़ंक्शन फ़ाइल प्रकार का स्वतः पता लगाता है और फॉर्मेट-विशिष्ट पार्टीशनर (जैसे `partition_pdf`, `partition_text`) को रूट करता है। - आउटपुट दस्तावेज़ एलिमेंट्स की एक सूची है जिसे स्ट्रिंग या संरचित फॉर्मेट में सीरियलाइज़ किया जा सकता है। - मॉड्यूलर फ़ंक्शन और कनेक्टर डेटा इन्जेशन और प्री-प्रोसेसिंग के लिए एक सिस्टम बनाते हैं, जिसका उद्देश्य विभिन्न प्लेटफ़ॉर्म पर अनुकूलनीय होना है। - README एक MCP सर्वर ऑफ़रिंग (Unstructured Transform) का भी वर्णन करता है जो एजेंट्स को दस्तावेज़ प्रोसेसिंग प्रदान करता है, एक एजेंट सेशन के भीतर पार्सिंग, एनरिचमेंट, चंकिंग और एम्बेडिंग के साथ 60+ फ़ाइल प्रकारों को हैंडल करता है। इंस्टॉलेशन और उपयोग - PyPI के माध्यम से इंस्टॉल करें: सादे टेक्स्ट, HTML, XML, JSON और ईमेल के लिए `pip install unstructured`; सभी दस्तावेज़ प्रकारों के लिए `pip install "unstructured[all-docs]"`; या `unstructured[docx,pptx]` जैसे लक्षित एक्स्ट्रा। - वैकल्पिक सिस्टम निर्भरताओं में libmagic-dev (फ़ाइल प्रकार पहचान), poppler-utils (इमेज/PDF), tesseract-ocr (OCR, अतिरिक्त भाषाओं के लिए tesseract-lang के साथ), और libreoffice (MS Office दस्तावेज़) शामिल हैं; pandoc pypandoc-binary के माध्यम से बंडल किया गया है। - Docker इमेज x86_64 और Apple silicon के लिए प्रकाशित की जाती हैं; इमेज कमिट हैश, वर्जन और `latest` द्वारा टैग की जाती हैं, और `make docker-build` के साथ स्थानीय रूप से भी बनाई जा सकती हैं। - स्थानीय विकास निर्भरता प्रबंधन के लिए `uv` का उपयोग करता है; `make install` `uv sync --locked --all-extras --all-groups` चलाता है। वैकल्पिक pre-commit हुक और `make check`/`make tidy` फॉर्मेटिंग और लिंटिंग का समर्थन करते हैं। दस्तावेज़ीकरण और समुदाय प्रोजेक्ट quick start, मुख्य कार्यक्षमता, कनेक्टर, अवधारणाओं और एकीकरणों के लिए docs.unstructured.io की ओर इशारा करता है। यह एक सुरक्षा नीति, एक बग रिपोर्ट टेम्पलेट (पर्यावरण जानकारी के लिए `scripts/collect_env.py` के साथ), और कंपनी वेबसाइट, पूर्ण API दस्तावेज़ीकरण, और एक अलग बैच-प्रोसेसिंग रिपॉजिटरी (unstructured-ingest) के लिंक प्रदान करता है। टेलीमेट्री README बताता है कि डिफ़ॉल्ट रूप से हल्के एनालिटिक्स भेजे जाते हैं: इम्पोर्ट पर एक लाइब्रेरी-लोड पिंग और प्रत्येक टॉप-लेवल पब्लिक partition कॉल पर एक बेस्ट-एफर्ट स्थानीय प्रयास। रनटाइम इवेंट में कथित तौर पर पैकेज वर्जन, सामान्यीकृत प्लेटफ़ॉर्म/पायथन/आर्किटेक्चर मान, फिक्स्ड-एनम पार्टीशन विशेषताएँ, और URL क्वेरी पैरामीटर के रूप में कुल अंतिम-एलिमेंट गणनाएँ शामिल होती हैं, जिसमें कोई रिक्वेस्ट बॉडी नहीं होती और कोई दस्तावेज़ सामग्री, फ़ाइलनाम, पथ, URL, MIME मान, अपवाद विवरण, क्रेडेंशियल, या स्थायी पहचानकर्ता नहीं होते। डिलीवरी को नॉन-ब्लॉकिंग बताया गया है, बिना रीडायरेक्ट, रीट्राई, रिस्पॉन्स-बॉडी डाउनलोड, या कतार के, और प्रॉक्सी या netrc सेटिंग्स से परामर्श नहीं करता। इम्पोर्ट या पार्टीशन करने से पहले `DO_NOT_TRACK` या `SCARF_NO_ANALYTICS` को किसी भी गैर-खाली मान पर सेट करके ऑप्ट आउट करना संभव है।