A vector embedding is a list of numbers that captures the meaning of something, a word, a sentence, an image, in a form a computer can compare. Two things with similar meaning get similar numbers, so closeness in this number space stands in for closeness in meaning.
Picture a map where every restaurant is placed by cuisine. Italian places cluster in one corner, sushi bars in another, and a new spot lands near the ones it resembles. An embedding does that for meaning instead of geography: ‘doctor’ and ‘physician’ land close together, while ‘banana’ sits far away. That spacing is what makes semantic search work, and it’s measured with cosine similarity, the angle between two of these number lists.
A real map only has two directions, north and east. An embedding has hundreds, sometimes more than a thousand. Each one captures a different shade of meaning, far more than a person could name. That extra room is why embeddings can tell ‘river bank’ from ‘savings bank’ even though the word is identical. The model learned, from billions of sentences, that one keeps company with water and the other with money, and it placed them in different parts of the space.
The numbers themselves are produced by a trained model and stored so they can be searched fast, often by the thousands or millions. On their own they look meaningless. Their value is entirely in how they sit relative to each other. Change the model and the numbers change too, so you have to embed your query with the same model you used for your data.
At TopDevs we use vector embeddings to build search and AI assistants that understand what a user means, not just the exact words they typed, which makes the answers feel a lot more relevant.