প্রকল্প সম্পর্কে

Unstructured হলো অসংগঠিত ডেটার জন্য একটি ওপেন-সোর্স প্রাক-প্রক্রিয়াকরণ লাইব্রেরি। এটি ছবি ও টেক্সট ডকুমেন্ট — PDF, HTML, Word ডকুমেন্ট, ইমেইল এবং আরও অনেক ফরম্যাট — গ্রহণ ও পার্টিশন করে এবং সেগুলোকে ভাষা মডেল ওয়ার্কফ্লোর জন্য উপযুক্ত কাঠামোবদ্ধ আউটপুটে রূপান্তর করে। মূল সক্ষমতা - একটি `partition` ফাংশন স্বয়ংক্রিয়ভাবে ফাইলের ধরন শনাক্ত করে এবং ফরম্যাট-নির্দিষ্ট পার্টিশনার (যেমন `partition_pdf`, `partition_text`) এ রাউট করে। - আউটপুট হলো ডকুমেন্ট এলিমেন্টের একটি তালিকা, যা স্ট্রিং বা কাঠামোবদ্ধ ফরম্যাটে সিরিয়ালাইজ করা যায়। - মডুলার ফাংশন ও কানেক্টর মিলে ডেটা গ্রহণ ও প্রাক-প্রক্রিয়াকরণের একটি সিস্টেম গঠন করে, যা বিভিন্ন প্ল্যাটফর্মে অভিযোজনের জন্য তৈরি। - README-তে একটি MCP সার্ভার অফারিং (Unstructured Transform) বর্ণনা করা হয়েছে, যা এজেন্টদের কাছে ডকুমেন্ট প্রসেসিং উন্মুক্ত করে, এজেন্ট সেশনের ভেতরে parsing, enrichment, chunking ও embedding সহ 60+ ফাইল টাইপ পরিচালনা করে। ইনস্টলেশন ও ব্যবহার - PyPI-এর মাধ্যমে ইনস্টল: প্লেইন টেক্সট, HTML, XML, JSON ও ইমেইলের জন্য `pip install unstructured`; সব ডকুমেন্ট টাইপের জন্য `pip install "unstructured[all-docs]"`; অথবা `unstructured[docx,pptx]` এর মতো নির্দিষ্ট extras। - ঐচ্ছিক সিস্টেম নির্ভরতার মধ্যে রয়েছে libmagic-dev (ফাইল টাইপ শনাক্তকরণ), poppler-utils (ছবি/PDF), tesseract-ocr (OCR, অতিরিক্ত ভাষার জন্য tesseract-lang সহ), এবং libreoffice (MS Office ডকুমেন্ট); pandoc pypandoc-binary-এর মাধ্যমে বান্ডল করা। - x86_64 এবং Apple silicon-এর জন্য Docker ইমেজ প্রকাশিত হয়; ইমেজগুলো commit hash, version এবং `latest` দ্বারা ট্যাগ করা হয়, এবং `make docker-build` দিয়ে স্থানীয়ভাবেও বিল্ড করা যায়। - স্থানীয় ডেভেলপমেন্টে নির্ভরতা ব্যবস্থাপনার জন্য `uv` ব্যবহার করা হয়; `make install` চালায় `uv sync --locked --all-extras --all-groups`। ঐচ্ছিক pre-commit hooks এবং `make check`/`make tidy` ফরম্যাটিং ও লিন্টিং সমর্থন করে। ডকুমেন্টেশন ও কমিউনিটি প্রকল্পটি quick start, core functionality, connectors, concepts ও integrations-এর জন্য docs.unstructured.io-এর দিকে নির্দেশ করে। এটি একটি security policy, একটি bug report template (পরিবেশ তথ্যের জন্য `scripts/collect_env.py` সহ), এবং কোম্পানির ওয়েবসাইট, সম্পূর্ণ API ডকুমেন্টেশন ও একটি পৃথক batch-processing রিপোজিটরি (unstructured-ingest) এর লিংক প্রদান করে। টেলিমেট্রি README-তে বলা হয়েছে যে ডিফল্টভাবে হালকা analytics পাঠানো হয়: import-এ একটি library-load ping এবং প্রতিটি টপ-লেভেল পাবলিক partition কলে একটি best-effort স্থানীয় প্রচেষ্টা। রানটাইম ইভেন্টগুলোতে reportedly package version, normalized platform/Python/architecture মান, fixed-enum partition বৈশিষ্ট্য এবং aggregate final-element সংখ্যা URL query parameter হিসেবে থাকে, কোনো request body নেই এবং কোনো document content, filenames, paths, URLs, MIME মান, exception বিবরণ, credentials বা persistent identifiers নেই। ডেলিভারি non-blocking হিসেবে বর্ণিত, redirects, retries, response-body download বা queue ছাড়া, এবং proxy বা netrc সেটিংস ব্যবহার করে না। import বা partition করার আগে `DO_NOT_TRACK` বা `SCARF_NO_ANALYTICS` যেকোনো non-empty মানে সেট করে opt out করা সম্ভব।