davide faa8acae84 feat(pipeline): ottimizzazione completa PDF→Markdown senza revisione manuale
- converter: parametri adattivi (use_struct_tree per PDF taggati, table_method=cluster, content_safety_off)
- transforms: +20 PUA bracket TeX U+F8EB-F8FE (290 simboli corretti su analisi1)
- transforms: _t_math_header_demotion — demota header ##/### che sono enunciati esercizi o formule
- report: metrica formula_headers_residui con esempi
- validator: penalità formula_headers (−3/cad, cap −15), colonna fhdr nel report tabellare

Risultato su analisi1: voto 92/A, PUA residui 0, formula-hdr residui 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 14:58:15 +02:00

PDF → Markdown

Converte PDF digitali in Markdown strutturato e pulito.

Stack: Python · opendataloader-pdf (XY-Cut++) · Java 11+
Compatibile con: Linux · macOS · Windows (WSL2)


Setup

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Java 11+ richiesto:

sudo apt install default-jdk   # Ubuntu/Debian/WSL
java -version

Utilizzo

# Singolo PDF
python conversione/pipeline.py --stem <nome>

# Tutti i PDF in sources/
python conversione/pipeline.py

# Forza riesecuzione
python conversione/pipeline.py --stem <nome> --force

--stem = nome file PDF senza estensione.
Esempio: sources/analisi1.pdf--stem analisi1


Output

Per ogni stem in conversione/<stem>/:

File Descrizione
raw.md Markdown grezzo — non modificare
clean.md Markdown pulito — copia di lavoro
structure_profile.json Struttura rilevata e metriche
report.json Statistiche complete della conversione

Validazione batch

python conversione/validate.py

Stampa una tabella di stato su tutti gli stem convertiti.


Vedi conversione/README.md per dettagli sulla pipeline e i tipi di documento supportati.

S
Description
Sistema RAG costruito da zero su qualsiasi PDF digitale. Ogni fase della pipeline - estrazione, chunking adattivo, vettorizzazione, retrieval e generazione - è uno step separato e verificabile. Gira interamente in locale su CPU, senza GPU e senza cloud. Stack: Python - Ollama - ChromaDB.
Readme 827 KiB
Languages
Python 100%