diff --git a/benchmarks/perf-tool/release-configs/faiss-hnswpq/index.json b/benchmarks/perf-tool/release-configs/faiss-hnswpq/index.json new file mode 100644 index 000000000..479703412 --- /dev/null +++ b/benchmarks/perf-tool/release-configs/faiss-hnswpq/index.json @@ -0,0 +1,17 @@ +{ + "settings": { + "index": { + "knn": true, + "number_of_shards": 24, + "number_of_replicas": 1 + } + }, + "mappings": { + "properties": { + "target_field": { + "type": "knn_vector", + "model_id": "test-model" + } + } + } +} diff --git a/benchmarks/perf-tool/release-configs/faiss-hnswpq/method-spec.json b/benchmarks/perf-tool/release-configs/faiss-hnswpq/method-spec.json new file mode 100644 index 000000000..2d67bf2df --- /dev/null +++ b/benchmarks/perf-tool/release-configs/faiss-hnswpq/method-spec.json @@ -0,0 +1,15 @@ +{ + "name":"hnsw", + "engine":"faiss", + "space_type": "l2", + "parameters":{ + "ef_construction": 256, + "m": 16, + "encoder": { + "name": "pq", + "parameters": { + "m": 16 + } + } + } +} diff --git a/benchmarks/perf-tool/release-configs/faiss-hnswpq/test.yml b/benchmarks/perf-tool/release-configs/faiss-hnswpq/test.yml new file mode 100644 index 000000000..dd88affc3 --- /dev/null +++ b/benchmarks/perf-tool/release-configs/faiss-hnswpq/test.yml @@ -0,0 +1,53 @@ +endpoint: [ENDPOINT] +test_name: "index-workflow" +test_id: "index workflow" +num_runs: 10 +show_runs: false +setup: + - name: delete_index + index_name: train_index + - name: create_index + index_name: train_index + index_spec: /home/ec2-user/[PATH]/train-index-spec.json + - name: ingest + index_name: train_index + field_name: train_field + bulk_size: 500 + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5 + doc_count: 50000 + - name: refresh_index + index_name: train_index +steps: + - name: delete_model + model_id: test-model + - name: delete_index + index_name: target_index + - name: train_model + model_id: test-model + train_index: train_index + train_field: train_field + dimension: 128 + method_spec: /home/ec2-user/[PATH]/method-spec.json + max_training_vector_count: 50000 + - name: create_index + index_name: target_index + index_spec: /home/ec2-user/[PATH]/index.json + - name: ingest + index_name: target_index + field_name: target_field + bulk_size: 500 + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5 + - name: refresh_index + index_name: target_index + - name: query + k: 100 + r: 1 + calculate_recall: true + index_name: target_index + field_name: target_field + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5 + neighbors_format: hdf5 + neighbors_path: /home/ec2-user/data/sift-128-euclidean.hdf5 diff --git a/benchmarks/perf-tool/release-configs/faiss-hnswpq/train-index-spec.json b/benchmarks/perf-tool/release-configs/faiss-hnswpq/train-index-spec.json new file mode 100644 index 000000000..804a5707e --- /dev/null +++ b/benchmarks/perf-tool/release-configs/faiss-hnswpq/train-index-spec.json @@ -0,0 +1,16 @@ +{ + "settings": { + "index": { + "number_of_shards": 24, + "number_of_replicas": 0 + } + }, + "mappings": { + "properties": { + "train_field": { + "type": "knn_vector", + "dimension": 128 + } + } + } +}