No corpus loaded
Pick a sandbox example from the sidebar, or paste your own text.
Pick a sandbox example from the sidebar, or paste your own text.
(run annotation first to see per-model output)
JSON of the internal schema (fields with name/type/values/nullable/aggregator). Click outside to apply.
Pick one model for single inference, or 2+ to enable Mixture-of-Experts (parallel calls + majority vote, with disagreements highlighted on each token).
sessionStorage. It is sent as an X-OpenRouter-Key header on each annotation request and never stored on the server. Closing the tab wipes it. Use Clear key below at any time.
OPENROUTER_API_KEY is also configured. If you don't set a tab-key, the server fallback is used.
Get a key → openrouter.ai/keys
Press Enter, , or ; to add. You can also paste PER, LOC, ORG, WORK and press Enter to add them all at once.
Need lemmatization, morphology, or several tag columns? Use one of the POS / Lemma presets above, or open 📋 Task after loading for finer control.
Corrected sentences live here and are re-injected as few-shot examples on the next annotation run. The pool filters by (language, schema_hash) so cross-task contamination cannot happen.
| # | lang | source | preview |
|---|---|---|---|
| empty — correct a sentence and click 📥 to ICL. | |||
All sentences in the corpus, with their current (possibly corrected) annotations.
⬇TSV round-trip with PIE baseline ⬇JSON schema-conformant ⬇CoNLL-U UD-standard ⬇JSONL fine-tune format| j / k | focus next / previous token |
| e / ↵ | edit focused token |
| 1 – 9 | (in editor) assign the i-th visible tag |
| x | toggle selection of focused token |
| r | re-annotate the focused sentence |
| ↵ | save token edit and advance to next disagreement |
| Esc | close popup |