From 97f2105e024457e31550f222593742844f5ae5a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mihai=20Capot=C4=83?= Date: Fri, 18 Jul 2025 14:51:18 -0700 Subject: [PATCH] Update SVS parameters WS_SEARCH is now SEARCH_WINDOW_SIZE. NUM_THREADS was removed. --- engine/clients/redis/search.py | 4 +-- .../configurations/dbpedia-calibration.json | 26 +++++++------------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/engine/clients/redis/search.py b/engine/clients/redis/search.py index 31cf27bd..4870f655 100644 --- a/engine/clients/redis/search.py +++ b/engine/clients/redis/search.py @@ -38,7 +38,7 @@ def init_client(cls, host, distance, connection_params: dict, search_params: dic if cls.hybrid_policy != "ADHOC_BF": cls.knn_conditions = "EF_RUNTIME $EF" elif cls.algorithm == "SVS-VAMANA": - cls.knn_conditions = "WS_SEARCH $WS_SEARCH" + cls.knn_conditions = "SEARCH_WINDOW_SIZE $SEARCH_WINDOW_SIZE" cls.data_type = "FLOAT32" if "search_params" in cls.search_params: cls.data_type = ( @@ -97,7 +97,7 @@ def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]: if cls.hybrid_policy != "ADHOC_BF": params_dict["EF"] = cls.search_params["search_params"]["ef"] if cls.algorithm == "SVS-VAMANA": - params_dict["WS_SEARCH"] = cls.search_params["search_params"]["WS_SEARCH"] + params_dict["SEARCH_WINDOW_SIZE"] = cls.search_params["search_params"]["SEARCH_WINDOW_SIZE"] results = cls._ft.search(q, query_params=params_dict) return [(int(result.id), float(result.vector_score)) for result in results.docs] diff --git a/experiments/configurations/dbpedia-calibration.json b/experiments/configurations/dbpedia-calibration.json index a315de2e..073a540a 100644 --- a/experiments/configurations/dbpedia-calibration.json +++ b/experiments/configurations/dbpedia-calibration.json @@ -67,7 +67,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT16", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200 @@ -78,7 +77,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT16" @@ -99,7 +98,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT32", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200 @@ -110,7 +108,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT32" @@ -131,7 +129,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT16", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -143,7 +140,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT16" @@ -164,7 +161,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT32", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -176,7 +172,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT32" @@ -197,7 +193,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT32", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -209,7 +204,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT32" @@ -230,7 +225,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT16", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -242,7 +236,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT16" @@ -263,7 +257,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT16", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -275,7 +268,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT16" @@ -296,7 +289,6 @@ "algorithm": "svs-vamana", "data_type": "FLOAT32", "svs-vamana_config": { - "NUM_THREADS": 16, "DISTANCE_METRIC": "L2", "GRAPH_MAX_DEGREE": 32, "CONSTRUCTION_WINDOW_SIZE": 200, @@ -308,7 +300,7 @@ "algorithm": "svs-vamana", "parallel": 100, "top": 100, - "calibration_param": "WS_SEARCH", + "calibration_param": "SEARCH_WINDOW_SIZE", "calibration_precision": 0.95, "search_params": { "data_type": "FLOAT32" @@ -321,4 +313,4 @@ "algorithm": "svs-vamana" } } -] \ No newline at end of file +]