Beginner LevelAI, LLMs, Embeddings & MCP
Compare Cosine Distance vs Euclidean Distance (L2) vs Inner Product for vector search.
❓ Interview Prompt: Explain distance metric selection criteria for vector indexing and normalized embeddings.
Selecting the right distance metric in vector databases depends on whether embeddings are normalized:
1. Cosine Distance ($1 - \text{Cosine Similarity}$):
Measures angular difference between vectors, ignoring length/magnitude. Ideal for text embeddings where text length varies.
2. Euclidean Distance ($L_2$ Distance):
Measures straight-line distance between two points in space. Sensitive to vector magnitude.
3. Dot Product (Inner Product / IP):
Multiplies vector elements and sums results. Fast GPU calculation.
•
Critical Note: If vectors are normalized to unit length (magnitude = 1.0), Cosine Similarity, Euclidean Distance, and Dot Product yield identical relative rankings!
Code Implementation Example
typescript
// Normalized vector dot product equals Cosine Similarity
function dotProduct(vecA: number[], vecB: number[]): number {
return vecA.reduce((sum, val, i) => sum + val * vecB[i], 0);
}
// Euclidean (L2) Distance
function euclideanDistance(vecA: number[], vecB: number[]): number {
const sumSquares = vecA.reduce((sum, val, i) => sum + Math.pow(val - vecB[i], 2), 0);
return Math.sqrt(sumSquares);
}💡Dot product and Euclidean (L2) distance functions.
🎯 Interview Key Takeaway
Use Cosine Similarity or Dot Product for text embeddings. Normalized vectors make Dot Product and Cosine rankings identical.
#Distance Metrics#Cosine#Euclidean#Vector Search#Beginner
Back to all AI, LLMs, Embeddings & MCP Questions→