Sentence Transformers

Sentence Transformers (also known as SBERT) is the go-to open-source library for turning text into embeddings on your own machine. It's free, self-hostable, and backed by thousands of pretrained models — the open counterpart to hosted services like OpenAI's. You run it yourself, keep your data private, and pay nothing per token.

💡 In one line: Sentence Transformers is an open-source library that runs embedding models locally — free, private, and self-hostable.

What is Sentence Transformers?

It's an open-source Python library (at sbert.net), maintained by Hugging Face, for computing sentence and document embeddings. Its models are permissively licensed (Apache 2.0 / MIT) and run locally on CPU or GPU. "Sentence Transformers" refers to both the library and the well-known SBERT family of models it introduced.

How SBERT Works

The core idea: take a Transformer (like BERT or MPNet), run the text through it, and pool the token outputs into a single fixed-length vector — trained so that similar sentences get similar vectors.

Whiteboard
Whiteboard diagram

The models are trained with a contrastive (siamese) objective on huge sets of sentence pairs, which is what makes their embeddings meaningful for similarity.

Popular Models

ModelDimsNote
all-MiniLM-L6-v2384Tiny & fast (~22M params) — great for CPU, edge, real-time; the most popular
all-mpnet-base-v2768Best quality among the classic models (~110M params)
paraphrase-multilingual / LaBSE384–768Multilingual (50–109 languages)

The rule of thumb from the docs: MiniLM is ~5× faster; MPNet gives higher quality.

More Than the "all-*" Models

Crucially, the library can run any embedding model on the Hugging Face hub — including modern state-of-the-art ones like BGE, E5, and GTE (the next subtopics). It's the framework, not just a fixed set of models — so you can start with a classic model and swap in a newer one with the same API.

Code Example


Strengths & Trade-offs

Strengths

  • Free and open — no per-token cost.
  • Self-hostable and private — data never leaves your machine.
  • Huge model hub and easy fine-tuning on your own data.
  • Fast CPU inference for the small models.

Trade-offs

  • You run the infrastructure (and manage GPUs for big models).
  • The classic all-* models are no longer state-of-the-art — but the library runs the newer ones too.

When to Use It

  • You need self-hosting, privacy, or no per-token cost.
  • Prototyping, edge, or real-time use (MiniLM).
  • Fine-tuning on a specific domain.
  • Pick MiniLM for speed, MPNet for quality, or load a modern BGE/E5 for top accuracy.

A Note on Currency

The all-* models remain popular baselines for their size and speed. For the best quality today, load a current model (BGE, E5, GTE, Qwen-Embedding) through the same Sentence Transformers API.

Summary

  • Sentence Transformers (SBERT) is the standard open-source library for local embeddings.
  • It works by running text through a Transformer and pooling into one vector, trained contrastively.
  • Popular models: all-MiniLM-L6-v2 (fast) and all-mpnet-base-v2 (quality), plus multilingual options.
  • It runs any hub model — including modern BGE/E5/GTE — with one API.
  • It wins on freedom, privacy, and cost; you provide the infrastructure. EOF echo created