hjLabs AI Playground

Starting the on-device runtime…

SapBERT — embeddings running in your browser

SapBERT is a 109M-parameter ONNX model that turns text into a dense vector whose distances encode meaning. On this page it runs entirely inside your browser: the 111 MB download comes straight from the Hugging Face repository “Xenova/SapBERT-from-PubMedBERT-fulltext” into your browser cache, and every inference after that executes on your own GPU through WebGPU. That is a one-off download of well under a minute on a normal connection, and small enough that integrated graphics handle it without complaint. It is an English-language model; expect quality to fall off sharply on other languages.

At a glance

Hugging Face repository
Xenova/SapBERT-from-PubMedBERT-fulltext
Task
Embeddings
Download size
111 MB
Parameters
109M
Precisions
q8, fp32
Monthly downloads
695
Languages
en
Runs on
WebGPU in your browser (WebAssembly fallback)
Price
Free — your GPU does the work

Trained to pull synonyms of the same medical concept together, so "MI" and "myocardial infarction" land in nearly the same place. The entity-linking pick. In practice people reach for a model like this for semantic search, deduplication, clustering and retrieval-augmented generation — all with a local index.

Available precisions: q8 (8-bit) and fp32 (full precision). q8 comes first because it roughly halves the download at a quality cost you will struggle to measure on this class of model; fp32 is there when you want the reference numbers. Hugging Face records about 695 downloads a month. It is a specialist choice rather than a default, which is exactly why it is worth trying when the popular model gets your particular input wrong.

Because there is no inference server behind this page, there is nothing to rate-limit and nothing to bill: the only cost of running SapBERT here is the one-off 111 MB download, and once that is cached the page keeps working with the network switched off.

sapbertsapbert onnxsapbert browserrun sapbert locallyxenova/sapbert-from-pubmedbert-fulltextembeddings modelsapbert webgpusapbert download sizefree embeddings modeltransformers.js model

Frequently asked questions

How large is the SapBERT download?

About 111 MB for the q8 build, including the tokenizer and config files the runtime also has to fetch — this is the whole payload, not just the weights file. It is downloaded once and then served from the browser Cache Storage API.

Can SapBERT run without a GPU?

Yes, through the WebAssembly fallback, which is slower but works anywhere. WebGPU (Chrome or Edge 113+, Safari 26+) is what makes it feel interactive. On WASM, prefer the smaller quantized build.

Do I need a Hugging Face token or an API key?

No. Xenova/SapBERT-from-PubMedBERT-fulltext is a public repository, so your browser fetches the ONNX files directly over HTTPS. There is no account, no key and no server in between.

Is my data uploaded to a server?

No. The model weights are downloaded from Hugging Face to your browser once, and every inference after that runs on your own GPU through WebGPU. Your text, images and audio are never sent anywhere — hjLabs.in has no inference server and no way to see your input.