Embedding demos often jump from text to a magical list of “similar” results. A tiny matcher makes the missing steps visible: normalize vectors, compute scores, rank candidates, and inspect failure cases.

This example uses fixed vectors so it runs without an API key.

import numpy as np

resume = np.array([0.8, 0.6, 0.1, 0.0])

projects = {