Skip to content

Commit 2ffe5e2

Browse files
refactoring: Standardize format of search params in engine configs (#122)
* refactoring: Standardize format of search params in engine configs * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * address review and rename params to config * address review * fix: upgrade milvusdb image version --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent beaddb3 commit 2ffe5e2

23 files changed

+582
-591
lines changed

engine/clients/elasticsearch/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]:
5151
"field": "vector",
5252
"query_vector": vector,
5353
"k": top,
54-
**{"num_candidates": 100, **cls.search_params},
54+
**cls.search_params["config"],
5555
}
5656

5757
meta_conditions = cls.parser.parse(meta_conditions)

engine/clients/milvus/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
DataType.INT64: 0,
2424
DataType.VARCHAR: "---MILVUS DOES NOT ACCEPT EMPTY STRINGS---",
2525
DataType.FLOAT: 0.0,
26+
DataType.DOUBLE: 0.0,
2627
}

engine/clients/milvus/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def get_mp_start_method(cls):
3838

3939
@classmethod
4040
def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]:
41-
param = {"metric_type": cls.distance, "params": cls.search_params["params"]}
41+
param = {"metric_type": cls.distance, "params": cls.search_params["config"]}
4242
try:
4343
res = cls.collection.search(
4444
data=[vector],

engine/clients/opensearch/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]:
8484
def setup_search(cls):
8585
if cls.search_params:
8686
cls.client.indices.put_settings(
87-
body=cls.search_params, index=OPENSEARCH_INDEX
87+
body=cls.search_params["config"], index=OPENSEARCH_INDEX
8888
)

engine/clients/pgvector/search.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ def init_client(cls, host, distance, connection_params: dict, search_params: dic
2323
cls.conn = psycopg.connect(**get_db_config(host, connection_params))
2424
register_vector(cls.conn)
2525
cls.cur = cls.conn.cursor()
26-
cls.cur.execute(
27-
f"SET hnsw.ef_search = {search_params['search_params']['hnsw_ef']}"
28-
)
26+
cls.cur.execute(f"SET hnsw.ef_search = {search_params['config']['hnsw_ef']}")
2927
if distance == Distance.COSINE:
3028
cls.query = f"SELECT id, embedding <=> %s AS _score FROM items ORDER BY _score LIMIT %s"
3129
elif distance == Distance.L2:

engine/clients/qdrant/search.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]:
4040
query_vector=vector,
4141
query_filter=cls.parser.parse(meta_conditions),
4242
limit=top,
43-
search_params=rest.SearchParams(
44-
**cls.search_params.get("search_params", {})
45-
),
43+
search_params=rest.SearchParams(**cls.search_params.get("config", {})),
4644
)
4745
return [(hit.id, hit.score) for hit in res]

engine/clients/redis/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def search_one(cls, vector, meta_conditions, top) -> List[Tuple[int, float]]:
6464
params_dict = {
6565
"vec_param": np.array(vector).astype(np.float32).tobytes(),
6666
"K": top,
67-
"EF": cls.search_params["search_params"]["ef"],
67+
**cls.search_params["config"],
6868
**params,
6969
}
7070
results = cls._ft.search(q, query_params=params_dict)

engine/clients/weaviate/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def search_one(self, vector, meta_conditions, top) -> List[Tuple[int, float]]:
4545
def setup_search(self):
4646
self.collection.config.update(
4747
vector_index_config=Reconfigure.VectorIndex.hnsw(
48-
ef=self.search_params["vectorIndexConfig"]["ef"]
48+
ef=self.search_params["config"]["ef"]
4949
)
5050
)
5151

engine/servers/milvus-limit-ram/docker-compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ services:
3939

4040
standalone:
4141
container_name: milvus-standalone
42-
image: milvusdb/milvus:v2.3.0-beta
42+
image: milvusdb/milvus:v2.3.1
4343
command: ["milvus", "run", "standalone"]
4444
environment:
4545
ETCD_ENDPOINTS: etcd:2379

experiments/configurations/elasticsearch-single-node.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
},
88
"collection_params": { "index_options": { "m": 16, "ef_construction": 100 } },
99
"search_params": [
10-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
11-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
10+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
11+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
1212
],
1313
"upload_params": { "parallel": 16 }
1414
},
@@ -20,8 +20,8 @@
2020
},
2121
"collection_params": { "index_options": { "m": 16, "ef_construction": 128 } },
2222
"search_params": [
23-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
24-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
23+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
24+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
2525
],
2626
"upload_params": { "parallel": 16 }
2727
},
@@ -33,8 +33,8 @@
3333
},
3434
"collection_params": { "index_options": { "m": 32, "ef_construction": 128 } },
3535
"search_params": [
36-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
37-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
36+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
37+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
3838
],
3939
"upload_params": { "parallel": 16 }
4040
},
@@ -46,8 +46,8 @@
4646
},
4747
"collection_params": { "index_options": { "m": 32, "ef_construction": 256 } },
4848
"search_params": [
49-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
50-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
49+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
50+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
5151
],
5252
"upload_params": { "parallel": 16 }
5353
},
@@ -59,8 +59,8 @@
5959
},
6060
"collection_params": { "index_options": { "m": 32, "ef_construction": 512 } },
6161
"search_params": [
62-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
63-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
62+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
63+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
6464
],
6565
"upload_params": { "parallel": 16 }
6666
},
@@ -72,8 +72,8 @@
7272
},
7373
"collection_params": { "index_options": { "m": 64, "ef_construction": 256 } },
7474
"search_params": [
75-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
76-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
75+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
76+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
7777
],
7878
"upload_params": { "parallel": 16 }
7979
},
@@ -85,8 +85,8 @@
8585
},
8686
"collection_params": { "index_options": { "m": 64, "ef_construction": 512 } },
8787
"search_params": [
88-
{ "parallel": 1, "num_candidates": 128 }, { "parallel": 1, "num_candidates": 256 }, { "parallel": 1, "num_candidates": 512 },
89-
{ "parallel": 100, "num_candidates": 128 }, { "parallel": 100, "num_candidates": 256 }, { "parallel": 100, "num_candidates": 512 }
88+
{ "parallel": 1, "config": { "num_candidates": 128 } }, { "parallel": 1, "config": { "num_candidates": 256 } }, { "parallel": 1, "config": { "num_candidates": 512 } },
89+
{ "parallel": 100, "config": { "num_candidates": 128 } }, { "parallel": 100, "config": { "num_candidates": 256 } }, { "parallel": 100, "config": { "num_candidates": 512 } }
9090
],
9191
"upload_params": { "parallel": 16 }
9292
}

0 commit comments

Comments
 (0)