From 4773b56f9d6d8eddde979795b140a0f7a2a5e7b7 Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Tue, 4 Nov 2025 16:34:47 +0200 Subject: [PATCH] Improve performance of vector search score normalization Co-authored-by: Tres Seaver --- src/haiku/rag/store/repositories/chunk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/haiku/rag/store/repositories/chunk.py b/src/haiku/rag/store/repositories/chunk.py index 467f20fb..24f2bb68 100644 --- a/src/haiku/rag/store/repositories/chunk.py +++ b/src/haiku/rag/store/repositories/chunk.py @@ -374,7 +374,7 @@ class ChunkRepository: """Extract scores from DataFrame columns based on search type.""" if "_distance" in df.columns: # Vector search - convert distance to similarity - return [max(0.0, 1.0 / (1.0 + d)) for d in df["_distance"].tolist()] + return ((df["_distance"] + 1).rdiv(1)).clip(lower=0.0).tolist() elif "_relevance_score" in df.columns: # Hybrid search - relevance score (higher is better) return df["_relevance_score"].tolist()