MCPcopy
hub / github.com/rohitg00/agentmemory / ndcg

Function ndcg

benchmark/quality-eval.ts:47–53  ·  view source on GitHub ↗
(retrieved: string[], relevant: Set<string>, k: number)

Source from the content-addressed store, hash-verified

45}
46
47function ndcg(retrieved: string[], relevant: Set<string>, k: number): number {
48 const actualRelevances = retrieved.slice(0, k).map(id => relevant.has(id));
49 const idealRelevances = Array.from({ length: Math.min(k, relevant.size) }, () => true);
50 const idealDCG = dcg(idealRelevances, k);
51 if (idealDCG === 0) return 0;
52 return dcg(actualRelevances, k) / idealDCG;
53}
54
55function recall(retrieved: string[], relevant: Set<string>, k: number): number {
56 if (relevant.size === 0) return 1;

Callers 5

evalBm25OnlyFunction · 0.70
evalDualStreamFunction · 0.70
evalTripleStreamFunction · 0.70
evalBuiltinMemoryFunction · 0.70

Calls 2

hasMethod · 0.80
dcgFunction · 0.70

Tested by

no test coverage detected