Skip to main content

Benchmarking for Scalable Vector Search

Project description

Scalable Vector Search Benchmarking

OpenSSF Scorecard GitHub License python-support

Scalable Vector Search Benchmarking enables the benchmarking or evaluation of the Scalable Vector Search library.

Installation

Requires Python >= 3.12.

python -m pip install \
    git+https://github.com/IntelLabs/ScalableVectorSearchBenchmarking

Usage

Building an index

python -m svsbench.build \
    --vecs_file /path/to/vectors.fvecs \
    --svs_type leanvec4x8 --leanvec_dims -4 \
    --proportion_vectors_init 0.5 --batch_size 10000

Computing the ground truth

For the query vectors used in performance measurements:

python -m svsbench.generate_ground_truth \
    --vecs_file vectors.fvecs \
    --query_file query_vectors.fvecs

For the query vectors used in the calibration of search parameters:

python -m svsbench.generate_ground_truth \
    --vecs_file vectors.fvecs \
    --query_file calibration_query_vectors.fvecs

Searching

Calibrating the search parameters for a given recall and then searching:

python -m svsbench.search \
    --idx_dir /path/to/index_dir_from_build \
    --svs_type leanvec4x8 \
    --query_file /path/to/query_vectors.fvecs \
    --ground_truth_file /path/to/ground_truth.ivecs \
    -k 5 \
    --recall 0.95 \
    --calibration_query_file /path/to/calibration_query_vectors.fvecs \
    --calibration_ground_truth_file /path/to/calibration_ground_truth.ivecs

Searching using specified search parameters:

python -m svsbench.search \
    --idx_dir /path/to/index_dir_from_build \
    --svs_type leanvec4x8 \
    --query_file /path/to/query_vectors.fvecs \
    --ground_truth_file /path/to/ground_truth.ivecs \
    -k 5 \
    --batch_size 1 \
    --search_window_size 14 \
    --search_buffer_capacity 34 \
    --prefetch_lookahead 1 \
    --prefetch_step 0 \
    --batch_size 10000 \
    --search_window_size 15 \
    --search_buffer_capacity 36 \
    --prefetch_lookahead 10 \
    --prefetch_step 4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svsbench-0.1.0.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

svsbench-0.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file svsbench-0.1.0.tar.gz.

File metadata

  • Download URL: svsbench-0.1.0.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for svsbench-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ec888a3acfd44e9b4ea5ca1335f8b13c4d4b1cd2439c1980e998447be24d53d
MD5 9254dfa8273b096b9580a72a599bc65c
BLAKE2b-256 211274c5d42d07cdbd2170be974ec028b4e4e40ae7e012f3723ca3d3e322619f

See more details on using hashes here.

File details

Details for the file svsbench-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: svsbench-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for svsbench-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c1db02db8b5885f9c37b02b9ae0f9acd95dc22996af29b62b9dc4f3a4e0833d
MD5 f3bc0c79037dd9156045664a3901ba32
BLAKE2b-256 2ea27ffb7fb63f1ea1efe266aa3331b7fc7029b505eb48f4587892b47075358a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page