unitoken 0.1.0

Fast BPE tokenizer/trainer with a Rust core and Python bindings
Documentation

unitoken

unitoken is a fast BPE tokenizer/trainer with a Rust core and optional Python bindings.

Install

Rust:

cargo add unitoken

Python (wheels via PyPI):

pip install unitoken

Quickstart (Python)

from unitoken import BpeTrainer, BpeEncoder

trainer = BpeTrainer(["<|endoftext|>"], None)  # first token is treated as EOT
trainer.add_words({"hello": 10, "world": 7})
trainer.train(vocab_size=256)
trainer.save("demo")

enc = BpeEncoder.load("demo")
ids = enc.encode_word("hello")

Building from source

This project uses maturin for the Python extension module.

maturin develop