Instructions to use latincy/latin-bert with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use latincy/latin-bert with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="latincy/latin-bert")# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("latincy/latin-bert") model = AutoModel.from_pretrained("latincy/latin-bert", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| """Tests for LatinBertTokenizerFast (Rust-backed, word_ids support). | |
| Guards the two fixes to the fast tokenizer: | |
| 1. whitespace-split before char-class encoding (no inter-word space | |
| escapes; correct word_ids alignment) | |
| 2. lowercasing normalizer (do_lower_case), so capitalized input is not | |
| escaped to codepoints — matching the slow tokenizer. | |
| """ | |
| import importlib.util | |
| from pathlib import Path | |
| import pytest | |
| REPO_ROOT = Path(__file__).resolve().parent.parent | |
| VOCAB_FILE = str(Path(__file__).parent / "latin.subword.encoder") | |
| def _load_fast_module(): | |
| path = REPO_ROOT / "tokenization_latin_bert_fast.py" | |
| spec = importlib.util.spec_from_file_location("tlbf_under_test", path) | |
| module = importlib.util.module_from_spec(spec) | |
| spec.loader.exec_module(module) | |
| return module | |
| def fast_module(): | |
| return _load_fast_module() | |
| def fast(fast_module): | |
| return fast_module.LatinBertTokenizerFast(vocab_file=VOCAB_FILE) | |
| def slow(): | |
| from latincy_latinbert import LatinBertTokenizer | |
| return LatinBertTokenizer(vocab_file=VOCAB_FILE) | |
| class TestFastTokenizer: | |
| def test_no_interword_space_escapes(self, fast): | |
| enc = fast("gallia est omnis divisa in partes tres") | |
| toks = fast.convert_ids_to_tokens(enc["input_ids"]) | |
| assert all(t not in ("\\", "32", ";_") for t in toks) | |
| def test_word_ids_alignment(self, fast): | |
| enc = fast("Gallia est omnis") | |
| # [CLS]=None, gallia=0, est=1, omnis=2, [SEP]=None | |
| assert enc.word_ids() == [None, 0, 1, 2, None] | |
| def test_lowercases_like_slow(self, fast): | |
| """Capitalized input must not produce codepoint escapes.""" | |
| enc = fast("Gallia") | |
| toks = fast.convert_ids_to_tokens(enc["input_ids"]) | |
| assert "gallia_" in toks | |
| assert all(not t.isdigit() for t in toks) | |
| def test_matches_slow_ids(self, fast, slow): | |
| for text in ["Gallia est omnis divisa in partes tres", | |
| "arma virumque cano", | |
| "ROMA", | |
| "gallia est omnis divisa in partes tres."]: | |
| s = slow.encode(text, add_special_tokens=False) | |
| f = fast.encode(text, add_special_tokens=False) | |
| assert s == f, f"slow/fast mismatch for {text!r}: {s} != {f}" | |