Firecrawl تفتح مصدر pdf-inspector: من PDF إلى Markdown في أجزاء من الثانية دون OCR
فتحت Firecrawl، الشركة الناشئة من Y Combinator المعروفة بأدوات استخراج البيانات من المواقع، الكود المصدري لمكتبة pdf-inspector المكتوبة بلغة Rust، والتي تحدد خلال أجزاء من الثانية ما إذا كان ملف PDF نصيًا أم ممسوحًا ضوئيًا، وتحوّل المستندات النصية إلى Markdown نظيف دون أي OCR. ووفق تقدير الفريق، فإن نحو 54% من ملفات PDF في الاستخدامات الواقعية نصية، فلا داعي لإمرارها عبر OCR البطيء والمكلف.
إذا سبق أن أطعمت نموذجًا ذكاءً اصطناعيًا ملف PDF — عقدًا أو تقريرًا أو كتابًا — فأنت تعرف هذا الشعور: الملف يفتح جيدًا، لكن النص لا يُنسخ أو يُنسخ مشوّهًا. المحللات التقليدية إما تتعثر في الجداول أو تمرّر كل صفحة عبر OCR، فتهدر الثواني والمال. يعالج pdf-inspector هذه المشكلة تحديدًا: يفحص الملف بسرعة أولًا، ولا يلجأ إلى OCR إلا إذا كان الملف ممسوحًا فعلًا.
التصنيف أولًا ثم الاستخراج
في تمريرة واحدة تصنّف المكتبة ملف PDF ضمن أربعة أنواع — نصي أو ممسوح أو صورة أو مختلط — وتعيد درجة ثقة من 0 إلى 1 مع مسار لكل صفحة: أي الصفحات تُقرأ نصًا وأيها تُرسل إلى OCR. يستغرق التصنيف من 10 إلى 50 ميلي ثانية. ثم تستخرج الصفحات النصية مع الإحداثيات والخطوط وترتيب القراءة، وتخرج Markdown بعناوين وقوائم وجداول وروابط.
أرقام لافتة
على معيار opendataloader-bench المكوّن من 200 ملف PDF، عالج pdf-inspector المجموعة كاملة في 0.47 ثانية. للمقارنة: استغرق pymupdf4llm نحو 17 ثانية وmarkitdown نحو 16 ثانية. ومع ذلك سجّل أعلى جودة — 0.875 إجمالًا مقابل 0.735 لـ pymupdf4llm و0.589 لـ markitdown. وفي الجداول يتفوق بوضوح: 0.814 مقابل 0.401 و0.273.
ماذا يفعل أيضًا
التخطيطات متعددة الأعمدة على طريقة الصحف، والنص من اليمين إلى اليسار، وخطوط CID، وكشف الترميزات المعطوبة. وكذلك OCR الانتقائي: إذا اختلطت في الملف صفحات ممسوحة قليلة، يمكنك تمريرها وحدها عبر OCR محليًا بواسطة PP-OCRv6 Small بدلًا من المستند كله.
أين يقصّر
بصراحة: الملفات الممسوحة فعلًا وصور المستندات ما زالت تحتاج إلى OCR، وpdf-inspector ليس سحرًا هنا — فهو ببساطة لا يهدر OCR على ملفات لا تحتاجه. والتخطيطات المعقدة التي تختلط فيها الصيغ الرياضية مع النص قد تتعثر أيضًا. وهو مكتبة وليس خدمة جاهزة: ستحتاج إلى كتابة بعض الكود لاستخدامه.

توجد روابط لـ Python وNode.js وWebAssembly في المتصفح — يعمل محلل Rust نفسه داخل المتصفح دون خادم. وقد تجاوز المستودع على GitHub نحو 17 ألف نجمة. إذا كنت تمرّر ملفات PDF إلى النماذج باستمرار، فالأمر يستحق نظرة.