import numpy as np def cosine_similarity(query, matrix): query_norm = query / np.linalg.norm(query) matrix_norm = matrix / np.linalg.norm(matrix, axis=1, keepdims=True) return matrix_norm @ query_norm def main(): embedding_dim = 1024 query = np.random.randn(embedding_dim).astype(np.float32) index = np.random.randn(5, embedding_dim).astype(np.float32) scores = cosine_similarity(query, index) ranked = np.argsort(scores)[::-1] print("Nearest neighbors:", ranked.tolist()) print("Scores:", scores[ranked].tolist()) if __name__ == "__main__": main()