Text-Extract-API: Trasformare Documenti in Dati Strutturati Senza Mal di Testa
Hai mai avuto bisogno di estrarre dati da un report PDF o documento scansionato? L'incubo familiare di copiare manualmente il testo, combattere con tabelle storte e perdere formule? Text-extract-api offre una soluzione elegante a questo problema, combinando tecnologie OCR moderne e modelli linguistici.
Cos'è questo strumento?
Text-extract-api è un'API Python che ti permette di:
- Convertire PDF, Word, PowerPoint e immagini in Markdown o JSON
- Estrarre tabelle, numeri e formule matematiche
- Pulire i documenti dai dati personali (PII)
- Migliorare la qualità del riconoscimento usando modelli LLM (Llama 3, MiniCPM e altri)
Il vantaggio principale è che tutto funziona localmente senza inviare dati a servizi cloud.
Funzionalità principali
1. Supporto per vari formati e strategie di riconoscimento
Il progetto supporta diversi motori OCR:
- EasyOCR — per il riconoscimento rapido del testo in più di 30 lingue
- MiniCPM-V — modello open per uso commerciale
- Llama 3.2 Vision — opzione più accurata, ma dispendiosa in termini di risorse
- API Remota — per l'integrazione con servizi esterni come Marker PDF
Esempio di comando per la conversione:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. Miglioramento del testo tramite LLM
Dopo il riconoscimento, il testo può essere ulteriormente elaborato da un modello linguistico:
- Correzione degli errori OCR
- Estrazione di dati strutturati (es. conversione di un referto medico in JSON)
- Rimozione dei dati personali
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. Archiviazione flessibile dei risultati
Sono supportate varie strategie per l'archiviazione dei documenti elaborati:
- File system locale
- Google Drive
- Amazon S3
La configurazione tramite file YAML rende facile adattare il sistema alle tue esigenze.
Dettagli tecnici
L'architettura del progetto è costruita su:
- FastAPI per REST API
- Celery per l'elaborazione asincrona dei task
- Redis per la memorizzazione in cache dei risultati
- Ollama per lavorare con modelli LLM locali
Vengono offerte due opzioni di deployment:
- Esecuzione nativa (utile per Mac con Apple Silicon)
- Container Docker (inclusa la versione con accelerazione GPU)
Applicazioni pratiche
Dove può essere utile text-extract-api?
Studi legali possono automatizzare l'elaborazione di scansioni di contratti, estraendo i termini chiave in un formato strutturato.
Strutture mediche otterranno uno strumento per convertire referti cartacei in record elettronici senza immissione manuale dei dati.
Startup fintech potranno analizzare estratti conto e fatture, estraendo dati per sistemi contabili.
Ricercatori apprezzeranno la possibilità di digitalizzare vecchi libri e articoli scientifici preservando formule e tabelle.
Inizia in 5 minuti
- Installa Docker e Ollama
- Clona il repository:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- Avvia i servizi:
docker-compose up --build
- Prova a convertire il tuo primo documento!
Text-extract-api è: ✅ Soluzione locale senza invio di dati al cloud ✅ Supporto per molti formati e lingue ✅ Integrazione flessibile con varie opzioni di archiviazione ✅ Miglioramento della qualità tramite LLM
Il progetto sarà particolarmente apprezzato dagli sviluppatori che hanno bisogno di lavorare con documenti nelle loro applicazioni ma non vogliono dipendere da API commerciali o perdere tempo a implementare il proprio OCR.
È disponibile una versione demo per i test, e tutte le domande possono essere discusse nella community Discord del progetto.
Progetti correlati