tinyzchunk โ€” weights

Distilled weights for tinyzchunk, a GPU-free, tokenizer-free chunker for RAG pipelines. This repository holds only the weights; the code lives on PyPI.

pip install tinyzchunk
from tinyzchunk import Chunker

chunker = Chunker()                  # downloads these weights once, then caches
chunks = chunker.chunk(document)     # -> list[str]

What these are

Two small MLPs that read raw characters โ€” no tokenizer, no GPU, numpy only:

file model size
line_weights.npz line-level unit-start detector (ยฑ5 line context, 102 features/char) ~1.9 MB
weights.npz character-level sentence/paragraph boundary model ~0.2 MB

They were distilled from an LLM teacher (Qwen) that labelled boundaries offline, one time. Inference needs neither.

Tuned for English and Brazilian Portuguese, and hardened for messy real-world text: PDF extractions with mid-word wrapping, page numbers and form feeds, OCR-mangled words, CRLF files, markdown, fenced code, tables, chat logs and legal enumerations.

Quality

Evaluated across 95 held-out scenario buckets (scripts/eval_matrix.py in the GitHub repo):

document family boundary F1
markdown, code, tables 0.97
sectioned prose, headings, bios 0.97
legal articles and enumerations 0.87
schedules and field blocks 0.79
Q&A and FAQ 0.78
wrapped / OCR-noisy prose 0.72

Macro F1 0.795 overall, 0.77 on noisy-text buckets alone. Fragment chunks 0.08%, oversized chunks 0%. Roughly 26 ms for a 3 kB document on one CPU core.

Compatibility

The weights carry a feature-schema digest. If you pair them with a tinyzchunk build whose feature extractor differs, the library raises a clear error instead of producing silent garbage โ€” upgrade tinyzchunk (>= 0.3.0 for this revision) or pin the matching weights revision.

Licence: Apache-2.0.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support