From words to vectors
An embedding model takes a piece of text and converts it into a list of numbers, a vector, typically with hundreds or thousands of dimensions. The trick is that the model is trained so texts with similar meaning end up as vectors that are close together in that high-dimensional space, while unrelated texts end up far apart. 'The cat sat on the mat' and 'a feline rested on the rug' will land near each other even though they share almost no words, because embedding models like OpenAI's text-embedding-3 or open models like BGE are trained on meaning, not spelling.
This is the core idea that makes semantic search possible. Traditional keyword search fails when a user asks 'how do I get my money back' but the document says 'refund policy,' because there's no literal word overlap. Embeddings sidestep that entirely by comparing meaning instead of matching strings.
