mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-06-17 23:38:30 +00:00
18 lines
502 B
TypeScript
18 lines
502 B
TypeScript
import dot from 'compute-dot';
|
|
import cosineSimilarity from 'compute-cosine-similarity';
|
|
import { getSimilarityMeasure } from '../config';
|
|
|
|
const computeSimilarity = (x: number[], y: number[]): number => {
|
|
const similarityMeasure = getSimilarityMeasure();
|
|
|
|
if (similarityMeasure === 'cosine') {
|
|
return cosineSimilarity(x, y) as number;
|
|
} else if (similarityMeasure === 'dot') {
|
|
return dot(x, y);
|
|
}
|
|
|
|
throw new Error('Invalid similarity measure');
|
|
};
|
|
|
|
export default computeSimilarity;
|