MCPcopy Create free account
hub / github.com/QodeXcli/QodeX / cosineSim

Function cosineSim

src/context/retrieval.ts:167–177  ·  view source on GitHub ↗
(a: number[], b: number[])

Source from the content-addressed store, hash-verified

165}
166
167export function cosineSim(a: number[], b: number[]): number {
168 let dot = 0, na = 0, nb = 0;
169 const len = Math.min(a.length, b.length);
170 for (let i = 0; i < len; i++) {
171 dot += a[i]! * b[i]!;
172 na += a[i]! * a[i]!;
173 nb += b[i]! * b[i]!;
174 }
175 if (na === 0 || nb === 0) return 0;
176 return dot / (Math.sqrt(na) * Math.sqrt(nb));
177}
178
179export function indexPath(projectRoot: string, embeddingModel: string): string {
180 const hash = createHash('sha1').update(`${projectRoot}::${embeddingModel}`).digest('hex').slice(0, 16);

Callers 7

rankApproachesFunction · 0.70
rankEpisodesFunction · 0.70
rankChunksFunction · 0.70
skill-gaps.test.tsFile · 0.50
retrieval.test.tsFile · 0.50
selectRelevantPassagesFunction · 0.50
findSimilarHelpersFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected