davide 3f4689e8fd feat: rileva note bibliografiche e raccolte multi-articolo in pipeline
Risolve la conversione errata di note a piè di pagina accademiche in
header Markdown nei testi giuridici (es. dirittopubblico: da 424 h2
errati → 27 h2 semanticamente corretti).

- _BIB_MARKERS_RE: aggiunge ibid., cfr., op. cit., cit., ivi
- _FOOTNOTE_AUTHOR_RE: nuovo pattern per "A. COGNOME" (es. G. GUZZETTA)
- _num_repl / _aphorism_repl / _list_section_repl: usano entrambi i
  guard per non convertire note bibliografiche in sezioni
- _t_promote_chapter_headers: usa max-count ≥ 3 per distinguere
  raccolte multi-articolo (non promuovere) da libri con capitoli
  sequenziali (promuovere); preserva il comportamento corretto su anatomia
- _t_remove_page_markers / _t_remove_page_numbers / _t_remove_separators:
  nuove transform per page marker PDF, numeri isolati, separatori underscore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 16:12:50 +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 789 KiB
Languages
Python 99.6%
Shell 0.4%