Skip to content

Commit 0bc2a7a

Browse files
authored
Merge pull request #83 from DAESA24/fix/dashboard-cosine-similarity-null-check
2 parents 5ef622c + dcb5474 commit 0bc2a7a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

dashboard/lib/memory-ai-engine.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ class TextProcessor {
327327
* Calculate cosine similarity between two vectors
328328
*/
329329
static cosineSimilarity(a: number[], b: number[]): number {
330-
if (a.length !== b.length) return 0
330+
if (!a || !b || a.length !== b.length) return 0
331331
let dot = 0, magA = 0, magB = 0
332332
for (let i = 0; i < a.length; i++) {
333333
dot += a[i] * b[i]
@@ -893,7 +893,7 @@ class MemoryClusterer {
893893
if (assigned.has(j)) continue
894894

895895
const avgDist = vectors
896-
.map((v, k) => assigned.has(k) ? 0 : TextProcessor.cosineSimilarity(vectors[j], v))
896+
.map((v, k) => assigned.has(k) || !vectors[j] || !v ? 0 : TextProcessor.cosineSimilarity(vectors[j], v))
897897
.reduce((a, b) => a + b, 0) / Math.max(1, memories.length - assigned.size)
898898

899899
if (avgDist > maxAvgDist) {
@@ -909,7 +909,7 @@ class MemoryClusterer {
909909

910910
const similarities = vectors.map((v, idx) => ({
911911
idx,
912-
sim: TextProcessor.cosineSimilarity(vectors[seedIdx], v)
912+
sim: !vectors[seedIdx] || !v ? 0 : TextProcessor.cosineSimilarity(vectors[seedIdx], v)
913913
}))
914914
.filter(s => !assigned.has(s.idx))
915915
.sort((a, b) => b.sim - a.sim)

0 commit comments

Comments
 (0)