refactor(embeddings): replace local cosineSimilarity with @bytelyst/palace re-export

Remove duplicate cosine similarity implementation in favor of the
shared @bytelyst/palace primitive. All consumers import from
embeddings.ts unchanged.
This commit is contained in:
saravanakumardb1 2026-04-13 12:33:52 -07:00
parent 7d7e445135
commit ba89cfd643

View File

@ -24,23 +24,9 @@ export async function embedText(text: string): Promise<number[] | null> {
}
/**
* 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.