← Все статьи

Firecrawl open sources pdf-inspector: PDF σε Markdown σε χιλιοστά του δευτερολέπτου, χωρίς OCR

Firecrawl open sources pdf-inspector: PDF σε Markdown σε χιλιοστά του δευτερολέπτου, χωρίς OCR

Το Firecrawl, η εκκίνηση του Y Combinator, γνωστή για τα εργαλεία απόξεσης ιστού, διαθέτει pdf-inspector ανοιχτού κώδικα — μια βιβλιοθήκη Rust που υπολογίζει σε χιλιοστά του δευτερολέπτου εάν ένα PDF βασίζεται σε κείμενο ή σάρωση και μετατρέπει έγγραφα που βασίζονται σε κείμενο σε καθαρό Markdown χωρίς OCR. Σύμφωνα με την εκτίμηση της ομάδας, περίπου το 54% των PDF σε πραγματικό φόρτο εργασίας βασίζονται σε κείμενο, επομένως η εκτέλεση τους μέσω αργής, ακριβής OCR είναι άσκοπη.

Εάν έχετε δώσει ποτέ ένα PDF σε ένα μοντέλο - ένα συμβόλαιο, μια έκθεση, ένα βιβλίο - ξέρετε την αίσθηση: το αρχείο ανοίγει καλά, αλλά το κείμενο δεν αντιγράφεται ή αντιγράφεται ως σκουπίδια. Οι κλασικοί αναλυτές είτε πνίγονται στα τραπέζια είτε σπρώχνουν κάθε σελίδα μέσα από το OCR, καίγοντας δευτερόλεπτα και χρήματα. Το pdf-inspector αγγίζει ακριβώς αυτό το σημείο πόνου: ελέγχει γρήγορα τι είναι το αρχείο και φτάνει στο OCR μόνο όταν είναι πραγματικά μια σάρωση.

Ταξινόμηση πρώτος, εξαγωγή δεύτερο

Με ένα πέρασμα, η βιβλιοθήκη ταξινομεί ένα PDF σε έναν από τους τέσσερις τύπους — TextBased, Scanned, ImageBased ή Mixed — και επιστρέφει βαθμολογία εμπιστοσύνης από 0 έως 1 συν μια διαδρομή ανά σελίδα: ποιες σελίδες να διαβαστούν ως κείμενο, ποιες να στείλετε στο OCR. Η ταξινόμηση διαρκεί 10-50 χιλιοστά του δευτερολέπτου. Για σελίδες κειμένου, στη συνέχεια εξάγει με συντεταγμένες, γραμματοσειρές και σειρά ανάγνωσης και εξάγει το Markdown με επικεφαλίδες, λίστες, πίνακες και συνδέσμους.

Νούμερα που ξεχωρίζουν

Στο opendataloader-bench corpus των 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: εάν ένα PDF έχει μερικές σαρωμένες σελίδες αναμεμειγμένες, μπορείτε να εκτελέσετε μόνο αυτές μέσω OCR τοπικά μέσω του PP-OCRv6 Small, αντί για ολόκληρο το έγγραφο.

Εκεί που υστερεί

Ειλικρινά: οι πραγματικές σαρώσεις και φωτογραφίες εγγράφων εξακολουθούν να χρειάζονται OCR και το pdf-inspector δεν είναι μαγικό εκεί — απλώς δεν σπαταλά το OCR σε αρχεία που δεν το χρειάζονται. Οι σύνθετες διατάξεις όπου οι τύποι και η στοιχειοθέτηση αναμειγνύονται με κείμενο μπορούν επίσης να το σκάσουν. Και είναι μια βιβλιοθήκη, όχι μια έτοιμη υπηρεσία: θα χρειαστεί να γράψετε λίγο κώδικα για να τη χρησιμοποιήσετε.

Glowing lines and table folding from a paper document into a hologram

Υπάρχουν δεσμεύσεις για Python, Node.js και WebAssembly του προγράμματος περιήγησης — ο ίδιος αναλυτής Rust εκτελείται απευθείας στο πρόγραμμα περιήγησης χωρίς διακομιστή. Το repo του GitHub έχει ήδη ξεπεράσει τα 17.000 αστέρια. Αν τροφοδοτείτε τακτικά PDF σε μοντέλα, αξίζει να το δείτε.