diff --git a/backend/src/lib/embeddings.ts b/backend/src/lib/embeddings.ts index 0dcd448..54353ab 100644 --- a/backend/src/lib/embeddings.ts +++ b/backend/src/lib/embeddings.ts @@ -24,23 +24,9 @@ export async function embedText(text: string): Promise { } /** - * Compute cosine similarity between two embedding vectors. - * Returns a value between -1 and 1 (1 = identical). + * Re-export cosine similarity from @bytelyst/palace shared primitives. */ -export function cosineSimilarity(a: number[], b: number[]): number { - if (a.length !== b.length || a.length === 0) return 0; - let dot = 0; - let magA = 0; - let magB = 0; - for (let i = 0; i < a.length; i++) { - dot += a[i] * b[i]; - magA += a[i] * a[i]; - magB += b[i] * b[i]; - } - const denom = Math.sqrt(magA) * Math.sqrt(magB); - if (denom === 0) return 0; - return dot / denom; -} +export { cosineSimilarity } from '@bytelyst/palace'; /** * Strip HTML and normalize whitespace for embedding input.