Firecrawl otworzył inspektora pdf: PDF w Markdown w milisekundach, bez OCR
Firecrawl, startup Y Combinator, który tworzy narzędzia do wydobywania danych ze stron internetowych, otworzył źródła pdf-inspector: bibliotekę Rust, która w milisekundach określa, czy tekst przed tobą to PDF czy skan, i zamienia dokumenty tekstowe w czyste Markdown bez OCR. Według szacunków zespołu około 54% PDF w rzeczywistych problemach ma charakter tekstowy i po prostu nie ma sensu przeprowadzać ich przez powolne i kosztowne OCR.
Jeśli kiedykolwiek zasilałeś sieć neuronową PDF - umową, raportem, książką - znasz to uczucie: plik wydaje się otwierać, ale zawarty w nim tekst nie jest kopiowany lub jest kopiowany w owsiance. Klasyczne parsery albo dławią się tabelami, albo przeglądają każdą stronę przez OCR, marnując sekundy i pieniądze. pdf-inspector trafia dokładnie w ten problem: najpierw szybko sprawdza, jaki to rodzaj pliku, i łączy OCR tylko wtedy, gdy jest to prawdziwy skan.
Najpierw klasyfikacja, potem ekstrakcja
W jednym przebiegu biblioteka przypisuje PDF do jednego z czterech typów — TextBased, Scanned, ImageBased lub Mixed — i podaje pewność od 0 do 1 plus trasę strony: którą należy przeczytać jako tekst, którą wysłać do OCR. Klasyfikacja trwa 10–50 milisekund. Następnie w przypadku stron tekstowych następuje ekstrakcja ze współrzędnymi, czcionkami i kolejnością czytania, a wynikiem jest Markdown z nagłówkami, listami, tabelami i łączami.
Liczby, które robią wrażenie
Na stanowisku opendataloader z 200 PDF plików pdf inspektor zdemontował całą obudowę w 0,47 sekundy. Dla porównania: pymupdf4llm – 17 sekund, markitdown – 16 sekund. Jednocześnie jest najwyższej jakości: ogólny wynik to 0,875 w porównaniu z 0,735 dla pymupdf4llm i 0,589 dla markitdown. Znacznie lepiej rozpoznaje tabele - 0,814 w porównaniu do 0,401 i 0,273.
Co jeszcze może zrobić?
Wielokolumnowe układy gazet, tekst pisany od prawej do lewej, czcionki CID, wykrywanie uszkodzonego kodowania. Oddzielnie - selektywne OCR: jeśli poszczególne zeskanowane strony utkną w PDF, możesz uruchomić tylko je do OCR, lokalnie, poprzez PP-OCRv6 Small, a nie cały dokument.
Gdzie jest haczyk?
Szczerze mówiąc: do prawdziwych skanów i zdjęć dokumentów nadal potrzeba OCR, a tutaj inspektor pdf nie jest magiczny - po prostu nie wydaje OCR na coś, co tego nie potrzebuje. Złożone układy, w których formuły i układ są wymieszane z tekstem, również mogą się sprawdzić. I to jest biblioteka, a nie gotowa usługa: aby z niej skorzystać, trzeba napisać mały kod.

Istnieją powiązania dla Pythona, Node.js i przeglądarkowego WASM - ten sam parser Rusta działa bezpośrednio w przeglądarce bez serwera. Repozytorium na GitHubie zyskało już prawie 17 tysięcy gwiazdek. Jeśli często nosisz PDF w sieci neuronowej, warto się temu przyjrzeć.