fix(vector_store): add parameter validation for min_score range

Validates min_score is within [0.0, 1.0] for cosine similarity.
Raises ValueError for out-of-range values to prevent unexpected filtering.

Fixes: ISS-1766921318981-14

Solution-ID: SOL-1735386000-14
Issue-ID: ISS-1766921318981-14
Task-ID: T1
This commit is contained in:
catlog22
2025-12-29 19:46:26 +08:00
parent e1f2fc72d9
commit 7f4433e449
2 changed files with 53 additions and 3 deletions

View File

@@ -730,7 +730,7 @@ class VectorStore:
Args:
query_embedding: Query vector.
top_k: Maximum results to return.
min_score: Minimum similarity score (0-1).
min_score: Minimum cosine similarity score in [0.0, 1.0].
return_full_content: If True, return full code block content.
Returns:
@@ -738,6 +738,11 @@ class VectorStore:
"""
query_vec = np.array(query_embedding, dtype=np.float32)
if not 0.0 <= min_score <= 1.0:
raise ValueError(
f"Invalid min_score: {min_score}. Must be within [0.0, 1.0] for cosine similarity."
)
# Try HNSW search first (O(log N))
if (
HNSWLIB_AVAILABLE
@@ -769,7 +774,7 @@ class VectorStore:
Args:
query_vec: Query vector as numpy array
top_k: Maximum results to return
min_score: Minimum similarity score (0-1)
min_score: Minimum cosine similarity score in [0.0, 1.0]
return_full_content: If True, return full code block content
Returns:
@@ -820,7 +825,7 @@ class VectorStore:
Args:
query_vec: Query vector as numpy array
top_k: Maximum results to return
min_score: Minimum similarity score (0-1)
min_score: Minimum cosine similarity score in [0.0, 1.0]
return_full_content: If True, return full code block content
Returns: