Sparse vectors are often high-dimensional with many zero values. They are generated from algorithms like BM25 and SPLADE and are used in keyword-based search.
Dense embeddings contain mostly non-zero values and are generated from machine learning models like Transformers. These vectors capture the semantic meaning of text and are used in semantic search.
Compressed dense vectors using lower-precision data types (e.g., float32 to int8). Reduces memory usage and speeds up search while maintaining most semantic information.
Extreme quantization, reducing vector components to binary (0 or 1) values. Drastically reduces memory use.
Flexible embedding sizes, like Matryoshka embeddings. Encode information hierarchically, allowing adaptation to different tasks or computational constraints while preserving semantic meaning.