davide e41fcae248 refactor: modularizza pipeline in conversione/_pipeline/
Sostituisce i file monolitici pipeline.py e validate.py con il package
_pipeline/ a responsabilità separate. Entry point unificato in __main__.py
(convert + validate dallo stesso comando).

Moduli aggiunti:
- __main__.py       — CLI unificata (--stem, --force, validate, --detail)
- _pipeline/__init__.py — re-export pubblico
- _pipeline/checker.py  — validazione PDF
- _pipeline/deps.py     — verifica dipendenze Java + opendataloader
- _pipeline/structure.py — analyze() + strategia chunking

Moduli già committati in precedenza:
- _pipeline/converter.py, transforms.py, report.py, runner.py, validator.py

Aggiornamenti collaterali:
- .gitignore: exception !conversione/_pipeline/** per tracciare il package
- CLAUDE.md: documentazione aggiornata alla nuova architettura; fix riferimenti
  obsoleti a conversione/pipeline.py → conversione/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 14:59:55 +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%