Skip to content

< all problems04 · Level 02, Search

Calculate Embedding Similarity

easy · implement · Embeddings & Retrieval

Implement cosine_similarity(query, documents).

query is a 1-D array of shape (d,). documents is 2-D, shape (n, d). Return a 1-D array of n similarities, one per document:

cos(a, b) = (a · b) / (||a|| * ||b||)

The catch: a zero vector has no direction, so its similarity is 0.0 rather than a division by zero. Handle that, and don't let a warning escape.