Types of models
What is an embedding model, and what is it for?
An embedding model is the type whose output is a list of numbers, not words. It maps text into a vector space where similar meanings sit close together. That makes it the engine behind semantic search, retrieval for RAG, clustering, and classification, jobs that depend on measuring how related two things are.
An embedding model is the type that breaks the pattern of the others. It reads text, but it does not write text back. Its output is a vector, a fixed-length list of floating point numbers[1]. That sounds abstract until you see what the numbers mean: the model places each piece of text as a point in a high-dimensional space, arranged so that things with similar meaning land close together and unrelated things land far apart. The position is the product.
Once meaning is geometry, a lot of useful work becomes simple distance measurement. Semantic search is the headline case. You embed your whole document collection once, store the vectors, then at query time embed the question and look for the nearest stored points[1]. Because nearness tracks meaning rather than wording, a search for “how do I reset my password” can surface a page titled “account recovery” even with no shared keywords. The same move powers retrieval for RAG, where an agent pulls the most relevant chunks of your own data before a language model answers. It also drives clustering, grouping similar items without labels, and classification, sorting text by which labelled examples it sits nearest.
Early on, getting a good single vector for a whole sentence was awkward. Sentence-BERT was an influential fix, restructuring BERT so that a sentence could be embedded once and then compared cheaply, turning a comparison that took 65 hours into one that took about 5 seconds[2]. That efficiency is why embedding-based search scaled.
Because embedding models all output vectors, they are easy to compare head to head, and the common yardstick is MTEB, a benchmark that scores models across dozens of datasets and tasks[3]. Two practical notes follow from how the type works. Vectors are only comparable within one model, so you cannot mix embeddings from different models in the same index, and re-embedding everything is the price of switching. And an embedding captures similarity, not truth, so it finds what is related to your query, which is not always what is correct.
References
- Embeddings — OpenAI
- Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks — Reimers & Gurevych (arXiv)
- MTEB: Massive Text Embedding Benchmark — Hugging Face
Common questions
- What does an embedding model output?
- A vector, which is just a fixed-length list of floating point numbers. The text itself is gone; what you keep is a point in space whose position encodes meaning, so two similar passages produce two nearby points.
- How is this used in search?
- You embed every document once and store the vectors. At query time you embed the question and find the stored vectors closest to it. Because closeness tracks meaning, this returns relevant results even when they share no exact words with the query.