منصوبے کے بارے میں

AksharaMD ایک Python CLI اور لائبریری ہے جو اس بات کا اندازہ لگانے کے لیے ہے کہ ایک دستاویز پارسر نے سورس فائل کو LLM انجیشن کے لیے موزوں مارک ڈاؤن میں کتنی اچھی طرح تبدیل کیا۔ اوسط درستگی کا اعداد و شمار پیش کرنے کے بجائے، یہ آپ کی فراہم کردہ مخصوص پارسر آؤٹ پٹ کے لیے فی دستاویز تیاری کا فیصلہ تیار کرتا ہے۔ بنیادی بہاؤ دو ان پٹ لیتا ہے: اصل سورس دستاویز (مثال کے طور پر PDF یا DOCX) اور وہ مارک ڈاؤن جو آپ کے پارسر نے اس سے تیار کیا۔ اس کے بعد یہ 0 سے 100 تک AI ریڈینیس اسکور واپس کرتا ہے جس میں کوالٹی بینڈز (HIGH 85 یا اس سے اوپر، OK 70 پر، RISKY 50 پر، POOR 50 سے نیچے)، فی بلاک ایکسٹریکشن کنفیڈنس ٹیگز (EXTRACTED، INFERRED، AMBIGUOUS)، نامزد انتباہی کوڈز جیسے OCR_REQUIRED، LOW_TEXT_DENSITY، GLYPH_ARTIFACTS، REPEATED_CONTENT، W_MULTICOLUMN_ORDER، W_TABLE_MISSING، W_ENCODING_ARTIFACTS اور OCR_HALLUCINATION، اور ایک اختیاری سورس-گراؤنڈڈ اسسمنٹ گیٹ جو چیک کرتا ہے کہ آیا اعلان کردہ لٹریلز (تاریخیں، IDs، کرنسی کی رقم، نامزد ادارے) مارک ڈاؤن میں زندہ رہتے ہیں، جس سے ACCEPT یا REJECT فیصلہ ملتا ہے۔ یہ پروجیکٹ واضح طور پر پارسر-ایگنوسٹک ہے اور MarkItDown، Docling، marker، MinerU، LlamaParse اور PyMuPDF4LLM کو ان پارسرز کے طور پر درج کرتا ہے جن کے آؤٹ پٹ کا درجہ دیا جا سکتا ہے، ساتھ ہی کوئی بھی اندرونی پارسر جو مارک ڈاؤن خارج کرتا ہے۔ ایک بنڈل ریفرنس پارسر بھی شامل ہے ان ٹیموں کے لیے جن کے پاس ترجیحی پارسر نہیں ہے، جو compile ذیلی کمانڈ کے ذریعے قابل رسائی ہے؛ README اس بات پر زور دیتا ہے کہ یہ ریفرنس پارسر مصنوعات کے بجائے ایک فال بیک سہولت ہے۔ README حدود کے بارے میں غیر معمولی طور پر واضح ہے۔ یہ بیان کرتا ہے کہ تیاری ایک غیر کیلیبریٹڈ ہیورسٹک ہے، درستگی کا امکان نہیں، اور یہ کہ اعلی اسکور کا مطلب صرف یہ ہے کہ چند ماڈل شدہ جرمانے لاگو کیے گئے تھے۔ یہ بازیافت کی درستگی، حتمی جواب کی درستگی، حوالہ کی درستگی، دیے گئے ایمبیڈنگ ماڈل کے لیے بہترین چنکنگ، اور ایمبیڈنگ ڈیلیوشن کے بارے میں ضمانتوں سے واضح طور پر انکار کرتا ہے۔ تاریخی بینچ مارک کے اعداد و شمار (آؤٹ پٹ ٹوکن موازنہ، شور میں کمی، MarkItDown اور Docling کے مقابلے تھرو پٹ) بنڈل ریفرنس پارسر ورژن 0.3.3 سے منسوب ہیں، ریڈینیس اسکور سے نہیں، اور README نوٹ کرتا ہے کہ وہ خود بخود بعد کی ریلیزز میں منتقل نہیں ہوتے۔ پروسیسنگ مقامی طور پر چلتی ہے۔ بیس انسٹال مقامی فائلوں کے لیے کوئی نیٹ ورک کال نہیں کرتا؛ نیٹ ورک تک رسائی صرف ریموٹ ذرائع جیسے HTTP/HTTPS URLs یا S3 کے لیے ہوتی ہے، یا جب اختیاری ML بیک اینڈز پہلے استعمال پر ماڈل وزن ڈاؤن لوڈ کرتے ہیں۔ دستاویزات AksharaMD کے زیر انتظام سروس کو نہیں بھیجی جاتیں۔ انسٹالیشن pip کے ذریعے ہے اور Python 3.11 یا اس کے بعد کے ورژن کی ضرورت ہے۔ بیس انسٹال 40+ دستاویز کیٹیگریز اور 118 رجسٹرڈ ایکسٹینشنز میں مقامی PDFs، DOCX، XLSX، PPTX، HTML، EPUB، ای میل، آرکائیوز، تصاویر اور کوڈ کا احاطہ کرتا ہے۔ اختیاری ایکسٹرا OCR (Tesseract)، وژن پر مبنی ٹیبل تعمیر نو (Marker)، ریاضی نکالنا (pix2tex)، آڈیو ٹرانسکرپشن (Whisper) اور S3 ان پٹ شامل کرتے ہیں۔ ایک مکمل انسٹال سب کچھ انسٹال کرتا ہے، پہلے رن پر تقریباً 5-6 GB ماڈل وزن کی قیمت پر۔ متعلقہ ایکسٹراز کے بغیر، اسکین شدہ صفحات خاموشی سے خراب آؤٹ پٹ پیدا کرنے کے بجائے OCR_REQUIRED انتباہ اور کم ریڈینیس اسکور خارج کرتے ہیں۔ CLI میں compile، assess، validate، benchmark، stats، show-manifest، corpus، mcp-config اور formats کے لیے ذیلی کمانڈز شامل ہیں۔ assess کمانڈ بنیادی گریڈنگ بہاؤ ہے؛ compile بنڈل پارسر کو سرے سے آخر تک چلاتا ہے اور document.md، document.json، manifest.json، validation.json اور چنک فائلیں لکھتا ہے۔ ایک --min-readiness-score آپشن CI/CD انجیشن گیٹ کے طور پر استعمال کی اجازت دیتا ہے، اور --json مشین پڑھنے کے قابل آؤٹ پٹ تیار کرتا ہے۔ corpus کمانڈ ایک ڈائریکٹری کو ٹوکن-بجٹ-باؤنڈڈ چنکس میں مرتب کرتا ہے جس میں قریب-ڈپلیکیٹ کا پتہ لگانا ہوتا ہے۔ Python API ایک Compiler کلاس کو compile_to_string، compile، compile_to_multimodal (ایک Anthropic-مطابق مواد کی صف واپس کرتا ہے جس میں ان لائن بیس64 تصاویر ہیں) اور ایک stream طریقہ کے ساتھ بے نقاب کرتا ہے جو RAG انڈیکس یا ویکٹر اسٹور کو کھلانے کے لیے بلاکس کو تدریجی طور پر پیدا کرتا ہے۔ ایک کمپائلیشن سیاق و سباق آبجیکٹ مینی فیسٹ فیلڈز جیسے ٹوکن کاؤنٹس، ٹوکن کمی کا فیصد، ریڈینیس اسکور، گزرا ہوا وقت، ٹیبل اور چنک کاؤنٹس، نیز توثیق کی غلطیاں اور انتباہات کو بے نقاب کرتا ہے۔ ایک MCP سرور MCP-مطابق میزبانوں جیسے Claude Desktop اور Cursor کے لیے شامل ہے، جو mcp-config ذیلی کمانڈ کے ذریعے ترتیب دیا جاتا ہے۔ پروجیکٹ PolyForm Noncommercial لائسنس کے تحت ہے۔