Offline Italian grammar trainer: Tatoeba sentences → spaCy POS/lemma + LLM word alignment → a single self-contained HTML viewer (hover for POS colors, lemma, alignment).
uv sync— pulls spaCy, both IT models (sm+md), polars
- open
viewer.htmlin a browser, loadsample_sentences.json
uv run fetch_data.py→it-en-pairs.tsv(downloads Tatoeba, ~2 min)cp .env.example .env, add your OpenRouter keyuv run pipeline.py --input it-en-pairs.tsv --n 200 --output sentences.json- load
sentences.jsonin the viewer
- Tatoeba IT-EN pairs — auto-fetched by
fetch_data.py; manual fallback: Tatoeba export tool freq/— itWaC frequency lists (MIT), drive the vocabulary filter
- Phase 0 rationale (freq filter,
mdmodel, dual-model gerund override): seepipeline.pydocstring dev/disagreements.py— sm-vs-md POS diagnostic