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

AksharaMD একটি Python CLI এবং লাইব্রেরি যা মূল্যায়ন করে যে একটি ডকুমেন্ট পার্সার একটি সোর্স ফাইলকে LLM ইনজেশনের জন্য উপযুক্ত মার্কডাউনে কতটা ভালোভাবে রূপান্তর করেছে। গড় নির্ভুলতার চিত্র বিজ্ঞাপন দেওয়ার পরিবর্তে, এটি আপনার সরবরাহ করা নির্দিষ্ট পার্সার আউটপুটের জন্য একটি প্রতি-ডকুমেন্ট প্রস্তুতি রায় তৈরি করে। মূল প্রবাহ দুটি ইনপুট নেয়: মূল সোর্স ডকুমেন্ট (উদাহরণস্বরূপ একটি PDF বা DOCX) এবং আপনার পার্সার দ্বারা উৎপাদিত মার্কডাউন। এটি তখন 0 থেকে 100 পর্যন্ত একটি AI রিডিনেস স্কোর ফেরত দেয় যার মানের ব্যান্ড রয়েছে (85 বা তার বেশি হলে HIGH, 70 হলে OK, 50 হলে RISKY, 50 এর নিচে POOR), প্রতি-ব্লক নিষ্কাশন আত্মবিশ্বাস ট্যাগ (EXTRACTED, INFERRED, AMBIGUOUS), নামযুক্ত সতর্কতা কোড যেমন OCR_REQUIRED, LOW_TEXT_DENSITY, GLYPH_ARTIFACTS, REPEATED_CONTENT, W_MULTICOLUMN_ORDER, W_TABLE_MISSING, W_ENCODING_ARTIFACTS এবং OCR_HALLUCINATION, এবং একটি ঐচ্ছিক উৎস-ভিত্তিক মূল্যায়ন গেট যা পরীক্ষা করে যে ঘোষিত লিটারেল (তারিখ, আইডি, মুদ্রার পরিমাণ, নামযুক্ত সত্তা) মার্কডাউনে টিকে আছে কিনা, যার ফলে একটি ACCEPT বা REJECT রায় পাওয়া যায়। প্রকল্পটি স্পষ্টভাবে পার্সার-নির্ভর নয় এবং MarkItDown, Docling, marker, MinerU, LlamaParse এবং PyMuPDF4LLM-কে পার্সার হিসেবে তালিকাভুক্ত করে যাদের আউটপুট গ্রেড করা যায়, পাশাপাশি যেকোনো অভ্যন্তরীণ পার্সার যা মার্কডাউন নির্গত করে। একটি বান্ডেলড রেফারেন্স পার্সারও অন্তর্ভুক্ত রয়েছে যাদের পছন্দের পার্সার নেই এমন দলের জন্য, compile সাবকমান্ডের মাধ্যমে অ্যাক্সেসযোগ্য; README জোর দেয় যে এই রেফারেন্স পার্সারটি পণ্য নয় বরং একটি ফলব্যাক সুবিধা। README সীমাবদ্ধতা সম্পর্কে অস্বাভাবিকভাবে স্পষ্ট। এটি বলে যে প্রস্তুতি একটি ক্রমাঙ্কিত হিউরিস্টিক নয়, সঠিকতার সম্ভাবনা নয়, এবং একটি উচ্চ স্কোর শুধুমাত্র বোঝায় যে কয়েকটি মডেল করা পেনাল্টি প্রয়োগ করা হয়েছে। এটি পুনরুদ্ধারের নির্ভুলতা, চূড়ান্ত উত্তরের সঠিকতা, উদ্ধৃতি সঠিকতা, একটি নির্দিষ্ট এমবেডিং মডেলের জন্য সর্বোত্তম চাঙ্কিং এবং এমবেডিং ডাইলিউশন সম্পর্কে গ্যারান্টি স্পষ্টভাবে অস্বীকার করে। ঐতিহাসিক বেঞ্চমার্ক পরিসংখ্যান (আউটপুট-টোকেন তুলনা, শব্দ হ্রাস, MarkItDown এবং Docling-এর তুলনায় থ্রুপুট) সংস্করণ 0.3.3-এ বান্ডেলড রেফারেন্স পার্সারের জন্য দায়ী, রিডিনেস স্কোরের জন্য নয়, এবং README উল্লেখ করে যে সেগুলি স্বয়ংক্রিয়ভাবে পরবর্তী রিলিজে স্থানান্তরযোগ্য নয়। প্রসেসিং স্থানীয়ভাবে চলে। বেস ইনস্টল স্থানীয় ফাইলগুলির জন্য কোনো নেটওয়ার্ক কল করে না; নেটওয়ার্ক অ্যাক্সেস শুধুমাত্র HTTP/HTTPS URL বা S3-এর মতো দূরবর্তী উত্সগুলির জন্য বা ঐচ্ছিক ML ব্যাকএন্ড প্রথম ব্যবহারে মডেল ওজন ডাউনলোড করলে ঘটে। ডকুমেন্টগুলি AksharaMD-পরিচালিত পরিষেবায় পাঠানো হয় না। ইনস্টলেশন pip-এর মাধ্যমে এবং Python 3.11 বা তার পরে প্রয়োজন। বেস ইনস্টল 40+ ডকুমেন্ট ক্যাটাগরি এবং 118 নিবন্ধিত এক্সটেনশন জুড়ে নেটিভ PDF, 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 (ইনলাইন বেস64 ছবি সহ একটি Anthropic-সামঞ্জস্যপূর্ণ কন্টেন্ট অ্যারে ফেরত) এবং একটি stream পদ্ধতি রয়েছে যা RAG ইনডেক্স বা ভেক্টর স্টোরে খাওয়ানোর জন্য ব্লকগুলি বৃদ্ধিমূলকভাবে উৎপন্ন করে। একটি কম্পাইলেশন কনটেক্সট অবজেক্ট টোকেন গণনা, টোকেন হ্রাস শতাংশ, রিডিনেস স্কোর, অতিবাহিত সময়, টেবিল এবং চাঙ্ক গণনা, প্লাস বৈধতা ত্রুটি এবং সতর্কতার মতো ম্যানিফেস্ট ক্ষেত্র প্রকাশ করে। Claude Desktop এবং Cursor-এর মতো MCP-সামঞ্জস্যপূর্ণ হোস্টগুলির জন্য একটি MCP সার্ভার অন্তর্ভুক্ত রয়েছে, যা mcp-config সাবকমান্ডের মাধ্যমে কনফিগার করা হয়। প্রকল্পটি PolyForm Noncommercial লাইসেন্সের অধীনে।