Transformers running in your browser

Three transformer models, downloaded once and executed in this tab via WebAssembly. Semantic similarity, cross-encoder reranking, and keyword vs semantic search. No server, no API key, and nothing you type leaves your machine.

Everything on this page runs client-side. The model is all-MiniLM-L6-v2 quantised to int8, executed by Kjarni compiled to WebAssembly with SIMD.

There is no inference server behind this page. Open your network tab: after the initial model download, ranking a query makes zero requests.

Each tab loads only the model it needs, on demand. Everything runs on this page: nothing you type is sent anywhere, and after the first download it works offline.

Compare meaning, not keywords

Every sentence becomes a 384-dimension vector. Ranking is the cosine angle between the query vector and each of the others.

Cross-encoder reranking

A different model and a different shape of computation. The similarity tab encodes each sentence separately and compares the vectors. A cross-encoder reads the query and one document together and scores that pair directly. Slower, since it is one forward pass per document, and considerably sharper at the top.

Sort text into categories

A DistilBERT classifier fine-tuned on sentiment. It returns every label with a confidence, so you can set your own threshold rather than trusting the top pick. Nothing here is a keyword rule: the model reads the sentence.

A language model, in this tab

Qwen2.5 0.5B. The weights stay block-quantised in memory rather than being expanded to f32, which is the only reason this fits: as f32 it needs 1.98 GB and a browser caps a single allocation at 2 GB. It is still a 500 MB download, so it is behind a button.