La maggior parte dei dati aziendali si trova ancora all'interno di file PDF, scansione e presentazioni. I modelli di linguaggio e gli agenti intelligenti non possono utilizzare questi dati finché non vengono convertiti in dati strutturati JSON. L'estrazione di documenti open source è diventato lo standard per effettuare questa conversione in locale.

Due problemi, uno stesso obiettivo

Sotto l'espressione "PDF a JSON" si celano due problemi distinti: la prima è l'estrazione basata su schema: si definiscono i campi e un modello li riempie con i valori. La seconda è l'analisi di documento: un modello ricostruisce la pagina in un formato JSON o Markdown strutturato. Le squadre aziendali hanno solitamente bisogno di solo uno di questi, ma spesso anche dei due. Scegliere la categoria sbagliata costa ore di lavoro inutili.

I modelli open source sono essenziali per il costo e la privacy. Gli API proprietari possono costare migliaia di dollari per un milione di pagine, e richiedono di inviare i documenti al di fuori delle proprie infrastrutture. I modelli locali eliminano entrambi questi limiti. Nella seguente sezione analizziamo i modelli e i framework che vale la pena valutare, gruppati per tipologia.

Due Categorie, Un'unica Espressione

L'estrazione schema-dipendente prende un documento e uno schema JSON, quindi restituisce i valori per i tuoi campi. Usa questa tecnica per fatture, moduli, contratti e ricevute, dove sai i campi in anticipo.

L'analisi documentale ricostruisce il documento stesso. Rileva la disposizione, l'ordine di lettura, tabelle, formule, e codice, quindi esporta JSON o Markdown. Usa questo metodo per preparare corpi documentali netti necessari per la generazione arricchita con dati (RAG) e gli agenti.

Categoria 1: Estrazione Strutturata Basata su Schema

Datalab lift

lift è un modello visionario da 9B di Datalab. Passi uno schema JSON e lift ti ritorna JSON conforme ad esso. Decodifica vincolata dallo schema garantisce che in uscita si ottenga JSON valido. Il modello è costruito su Qwen 3.5 ed eseguito localmente tramite Hugging Face o remotamente attraverso un server vLLM.

Il modello gestisce documenti multipagina in un solo passaggio, incluso il valore che si estende tra diverse pagine. Viene fornito con una CLI, un'API Python e uno Studio 'Schema' in Streamlit per costruzione e test di schemi.

    • Puoi installare lift tramite: pip install lift-pdf
    • Inizia il server vLLM, quindi estrai verso lo schema tuo tramite: liftvllm liftextract input.pdf ./output --schema schema.json
    • Usa il seguente codice Python per testarlo: from lift import extract

Secondo il benchmark Datalab su 225 documenti, lift raggiunge l'accuratezza al campo del 90,2% con latenza media di 9,5 secondi. È in testa a NuExtract3 (81,5%) e Qwen3.5-9B (76,3%) per l'accuratezza del campo. Rimane in arretrato rispetto a Gemini Flash 3.5 (91,3%) e l'API hostata Datalab (95,9%). Bisogna notare che l'accuratezza completa di documento rimane bassa per tutti i modelli locali, stando a 20,9%. Rendere corretti tutti i campi in un documento resta difficile.

Il codice è Apache-2.0. I pesi usano una licenza modificata OpenRAIL-M, gratuita per ricerca, uso personale e startup fino a 5 milioni di dollari in finanziamento o fatturato. L'hosting commerciale autonomo richiede una licenza, e i pesi non possono essere utilizzati in concorrenza con l'API Datalab.

NuMind NuExtract 3

NuExtract 3 è un modello visione-linguaggio da 4B di NuMind. Unifica due compiti in un unico modello: estrazione strutturata (documento a JSON) e estrazione del contenuto (OCR a Markdown). Si fornisce un input e un template JSON che descrive i campi di necessità. Il modello è addestrato con apprendimento da rinforzo per aggiungere ragionamenti specifici all'estrazione, attivabili per ogni richiesta o disattivabili a discrezione.

NuExtract 3 è multimodale, multilingue e basato su un backbone Qwen. Funziona attraverso vLLM con un API compatibile con OpenAI, e uno SDK Python è disponibile con pip install numind. NuMind lo posiziona come un modello aperto di riferimento per entrambi gli estratti strutturati e dei contenuti nel suo dimensionamento. Controlla la carta del modello per i dettagli sulla legittimazione prima dell'uso commerciale.

Categoria 2: Analisi Documentale verso JSON Strutturati e Markdown

IBM Docling

Docling nasce da IBM Research e oggi è ospitato dalla LF AI & Data Foundation. Analizza PDF, DOCX, PPTX, XLSX, HTML, immagini e altro. I formati d'output includono Markdown, HTML, JSON lossless e DocTags. Il cuore del sistema è la rappresentazione DoclingDocument, che preserva layout, ordine di lettura, tabelle e formule in LaTeX.

Docling funziona localmente nei sistemi "air-gapped". Si integra con LangChain, LlamaIndex, Crew AI, Haystack, e include un server MCP e una modalità Docling Serve. Il progetto è rilasciato con una pròsa licenza MIT. IBM offre una versione gestione attraverso watsonx.

IBM Granite-Docling-258M

Granite-Docling-258M è un modello visione-linguaggio compatto a 258M di IBM. Esegue conversioni di documenti one-shot all'interno di pipeline Docling. Sebbene piccolo, gestisce la OCR, il layout, le tabelle, il codice e le equazioni, ed emetti DocTags. Su un GPU A100, si attesta a circa 0,35 secondi per pagina.

OpenDataLab MinerU

MinerU, da OpenDataLab e Shanghai AI Laboratory, converte PDF, immagini, DOCX, PPTX e XLSX in Markdown e JSON. Accoppia una pipeline di elaborazione con un modello visione-linguaggio. Il modello corrente, MinerU2.5-Pro, mira a una alta precisione di parsing di layout complessi, tra cui tabelle e grafici che si estendono su pagine.

MinerU ha recentemente modificato la sua licenza. Ha passato da AGPL-3.0 alla “MinerU Open Source License,” una licenza personalizzata basata su Apache 2.0 con condizioni aggiuntive. Questo cambiamento riduce l’attrito per la distribuzione commerciale.

Datalab Marker

Marker è la pipeline di Datalab per convertire documenti in Markdown, JSON, parti e HTML. Sostiene PDF, immagini, PPTX, DOCX, XLSX, HTML e EPUB. Formatta tabelle, moduli, equazioni, matematica inline, link e codice