cosine similarity
Cosine similarity measures the angle between two vectors, popular for semantic similarity as its magnitude-invariant. **Formula**: cos(A,B) = (A dot B) / (||A|| * ||B||). Result ranges -1 to 1 (for normalized vectors in practice 0 to 1). **Interpretation**: 1 = identical direction (same meaning). 0 = orthogonal (unrelated). -1 = opposite direction. **Why angle not distance**: Embedding magnitudes may vary with text length or other factors. Angle captures semantic similarity independent of magnitude. **Normalized vectors**: When vectors pre-normalized (L2 norm = 1), cosine similarity equals dot product. Faster computation. **Use cases**: Text similarity (sentence embeddings), document retrieval, semantic search, clustering, recommendation. **Comparison to Euclidean**: Euclidean distance sensitive to magnitude. Cosine better when only direction matters. For normalized vectors, both rank identically. **For RAG/search**: Standard similarity metric for text embedding retrieval. Sentence-transformers, OpenAI embeddings designed for cosine similarity. **Implementation**: Most vector databases support cosine as distance metric. Normalize embeddings for efficiency.