def get_closest_embedding()

in src/scripts/ffn_inference.py [0:0]


def get_closest_embedding(completions, completions_embeddings, ranked_embeddings):
    res_emb, res_compl = np.zeros(ranked_embeddings.shape), {}
    for i, key in enumerate(completions.keys()):
        non_zero_preds = [i for i in completions_embeddings[i] if not np.array_equal(i, np.zeros(shape=i.shape))]
        min_idx = np.argmin([np.linalg.norm(ranked_embeddings[i] - pred) for pred in non_zero_preds])
        res_emb[i] = non_zero_preds[min_idx]
        if completions[key][min_idx]:
            res_compl[key] = completions[key][min_idx]
        else:
            res_compl[key] = []
    return res_compl