vectordb-bench 1.0.2__tar.gz → 1.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/PKG-INFO +3 -5
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/README.md +2 -2
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/pyproject.toml +1 -2
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/aliyun_opensearch.py +34 -42
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/config.py +0 -7
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/cli.py +221 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/dataset.py +1 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20250318_standard_elasticcloud.json +6 -6
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardDataV2.py +1 -1
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard_v2.json +69 -69
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/PKG-INFO +3 -5
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/requires.txt +0 -2
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.devcontainer/Dockerfile +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.devcontainer/devcontainer.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.env.example +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.github/workflows/publish_package_on_release.yml +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.github/workflows/pull_request.yml +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/.gitignore +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/Dockerfile +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/LICENSE +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/Makefile +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/OWNERS +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/custom_case_run_test.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/custom_dataset.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/bar-chart.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/concurrent.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/custom.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/label_filter.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/qp$.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/run_test.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/streaming.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/homepage/table.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/run_test_select_case.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/run_test_select_db.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/fig/run_test_submit.png +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/install/requirements_py3.11.txt +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/install.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/setup.cfg +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/conftest.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/pytest.ini +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_bench_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_chroma.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_data_source.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_dataset.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_elasticsearch_cloud.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_models.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_rate_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_redis.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/test_utils.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/tests/ut_cases.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/__init__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/__main__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/__init__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/assembler.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/cases.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/__init__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/aliyun_elasticsearch.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/alloydb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/api.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/run.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/chroma.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/clickhouse.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/lancedb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/mariadb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/memorydb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/milvus.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/mongodb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/oceanbase.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/pgdiskann.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/pgvecto_rs.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/pgvector.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/pgvectorscale.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/pinecone.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/qdrant_local.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/redis.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/test.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/tidb.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/util.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/vespa.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/weaviate_cloud.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/config.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/data_source.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/filter.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/result_collector.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/__init__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/mp_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/rate_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/read_write_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/serial_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/util.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/task_runner.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/backend/utils.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/base.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/cli/__init__.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/cli/batch_cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/cli/cli.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/cli/vectordbbench.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/config-files/batch_sample_config.yml +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/config-files/sample_config.yml +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/custom/custom_case.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/charts.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/data.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/expanderStyle.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/filters.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/footer.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/headerIcon.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/nav.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/priceTable.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/stPageConfig.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/concurrent/charts.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displayCustomCase.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displaypPrams.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/getCustomConfig.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/initStyle.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/get_results/saveAsImage.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/label_filter/charts.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/autoRefresh.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/caseSelector.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbConfigSetting.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbSelector.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/generateTasks.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/hideSidebar.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/initStyle.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/inputWidget.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/submitTask.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/charts.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/data.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/tables/data.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/explainPrams.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/pagestyle.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/welcomePrams.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbCaseConfigs.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbPrices.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/styles.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/concurrent.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/custom.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/label_filter.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/quries_per_dollar.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/results.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/run_test.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/streaming.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/tables.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/utils.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/frontend/vdbbench.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/interface.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/log_util.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/metric.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/models.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230727_standard_elasticcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230808_standard_elasticcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230727_standard_milvus.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230808_standard_milvus.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20250509_standard_milvus.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/OpenSearch/result_20250224_standard_opensearch.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230727_standard_pgvector.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230808_standard_pgvector.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230727_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230808_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20250124_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230727_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230808_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20250602_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230727_standard_weaviatecloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/ZillizCloud/result_20250613_standard_zillizcloud.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/dbPrices.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardData.py +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard.json +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/SOURCES.txt +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/dependency_links.txt +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/entry_points.txt +0 -0
- {vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: vectordb-bench
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.4
|
4
4
|
Summary: VectorDBBench is not just an offering of benchmark results for mainstream vector databases and cloud services, it's your go-to tool for the ultimate performance and cost-effectiveness comparison. Designed with ease-of-use in mind, VectorDBBench is devised to help users, even non-professionals, reproduce results or test new systems, making the hunt for the optimal choice amongst a plethora of cloud services and open-source vector databases a breeze.
|
5
5
|
Author-email: XuanYang-cn <xuan.yang@zilliz.com>
|
6
6
|
Project-URL: repository, https://github.com/zilliztech/VectorDBBench
|
@@ -47,7 +47,6 @@ Requires-Dist: opensearch-dsl; extra == "all"
|
|
47
47
|
Requires-Dist: opensearch-py; extra == "all"
|
48
48
|
Requires-Dist: memorydb; extra == "all"
|
49
49
|
Requires-Dist: alibabacloud_ha3engine_vector; extra == "all"
|
50
|
-
Requires-Dist: alibabacloud_searchengine20211025; extra == "all"
|
51
50
|
Requires-Dist: mariadb; extra == "all"
|
52
51
|
Requires-Dist: PyMySQL; extra == "all"
|
53
52
|
Requires-Dist: clickhouse-connect; extra == "all"
|
@@ -78,7 +77,6 @@ Provides-Extra: opensearch
|
|
78
77
|
Requires-Dist: opensearch-py; extra == "opensearch"
|
79
78
|
Provides-Extra: aliyun-opensearch
|
80
79
|
Requires-Dist: alibabacloud_ha3engine_vector; extra == "aliyun-opensearch"
|
81
|
-
Requires-Dist: alibabacloud_searchengine20211025; extra == "aliyun-opensearch"
|
82
80
|
Provides-Extra: mongodb
|
83
81
|
Requires-Dist: pymongo; extra == "mongodb"
|
84
82
|
Provides-Extra: mariadb
|
@@ -110,7 +108,7 @@ Closely mimicking real-world production environments, we've set up diverse testi
|
|
110
108
|
|
111
109
|
Prepare to delve into the world of VDBBench, and let it guide you in uncovering your perfect vector database match.
|
112
110
|
|
113
|
-
VDBBench is
|
111
|
+
VDBBench is sponsored by Zilliz,the leading opensource vectorDB company behind Milvus. Choose smarter with VDBBench - start your free test on [zilliz cloud](https://zilliz.com/) today!
|
114
112
|
|
115
113
|
**Leaderboard:** https://zilliz.com/benchmark
|
116
114
|
## Quick Start
|
@@ -818,4 +816,4 @@ This multi-tiered timeout approach allows our benchmark to be more representativ
|
|
818
816
|
</tr>
|
819
817
|
</table>
|
820
818
|
|
821
|
-
**Note:** Some datapoints in the standard benchmark results that
|
819
|
+
**Note:** Some datapoints in the standard benchmark results that violate this timeout will be kept for now for reference. We will remove them in the future.
|
@@ -13,7 +13,7 @@ Closely mimicking real-world production environments, we've set up diverse testi
|
|
13
13
|
|
14
14
|
Prepare to delve into the world of VDBBench, and let it guide you in uncovering your perfect vector database match.
|
15
15
|
|
16
|
-
VDBBench is
|
16
|
+
VDBBench is sponsored by Zilliz,the leading opensource vectorDB company behind Milvus. Choose smarter with VDBBench - start your free test on [zilliz cloud](https://zilliz.com/) today!
|
17
17
|
|
18
18
|
**Leaderboard:** https://zilliz.com/benchmark
|
19
19
|
## Quick Start
|
@@ -721,4 +721,4 @@ This multi-tiered timeout approach allows our benchmark to be more representativ
|
|
721
721
|
</tr>
|
722
722
|
</table>
|
723
723
|
|
724
|
-
**Note:** Some datapoints in the standard benchmark results that
|
724
|
+
**Note:** Some datapoints in the standard benchmark results that violate this timeout will be kept for now for reference. We will remove them in the future.
|
@@ -67,7 +67,6 @@ all = [
|
|
67
67
|
"opensearch-py",
|
68
68
|
"memorydb",
|
69
69
|
"alibabacloud_ha3engine_vector",
|
70
|
-
"alibabacloud_searchengine20211025",
|
71
70
|
"mariadb",
|
72
71
|
"PyMySQL",
|
73
72
|
"clickhouse-connect",
|
@@ -90,7 +89,7 @@ redis = [ "redis" ]
|
|
90
89
|
memorydb = [ "memorydb" ]
|
91
90
|
chromadb = [ "chromadb" ]
|
92
91
|
opensearch = [ "opensearch-py" ]
|
93
|
-
aliyun_opensearch = [ "alibabacloud_ha3engine_vector"
|
92
|
+
aliyun_opensearch = [ "alibabacloud_ha3engine_vector" ]
|
94
93
|
mongodb = [ "pymongo" ]
|
95
94
|
mariadb = [ "mariadb" ]
|
96
95
|
tidb = [ "PyMySQL" ]
|
@@ -3,11 +3,9 @@ import logging
|
|
3
3
|
import time
|
4
4
|
from contextlib import contextmanager
|
5
5
|
|
6
|
-
from alibabacloud_ha3engine_vector import
|
6
|
+
from alibabacloud_ha3engine_vector import models
|
7
|
+
from alibabacloud_ha3engine_vector.client import Client
|
7
8
|
from alibabacloud_ha3engine_vector.models import QueryRequest
|
8
|
-
from alibabacloud_searchengine20211025 import models as searchengine_models
|
9
|
-
from alibabacloud_searchengine20211025.client import Client as searchengineClient
|
10
|
-
from alibabacloud_tea_openapi import models as open_api_models
|
11
9
|
|
12
10
|
from ..api import MetricType, VectorDB
|
13
11
|
from .config import AliyunOpenSearchIndexConfig
|
@@ -28,18 +26,25 @@ class AliyunOpenSearch(VectorDB):
|
|
28
26
|
drop_old: bool = False,
|
29
27
|
**kwargs,
|
30
28
|
):
|
31
|
-
self.control_client = None
|
32
29
|
self.dim = dim
|
33
30
|
self.db_config = db_config
|
34
31
|
self.case_config = db_case_config
|
35
32
|
self.collection_name = collection_name
|
36
33
|
self.instance_id = db_config["host"].split(".")[0].replace("http://", "").replace("https://", "")
|
34
|
+
self.config = models.Config(
|
35
|
+
endpoint=self.db_config["host"],
|
36
|
+
protocol="http",
|
37
|
+
access_user_name=self.db_config["user"],
|
38
|
+
access_pass_word=self.db_config["password"],
|
39
|
+
)
|
37
40
|
|
38
41
|
self._primary_field = "id"
|
39
42
|
self._scalar_field = "int_id"
|
40
43
|
self._vector_field = "vector"
|
41
44
|
self._index_name = "vector_idx"
|
42
45
|
|
46
|
+
client = Client(self.config)
|
47
|
+
|
43
48
|
self.batch_size = int(
|
44
49
|
min(
|
45
50
|
ALIYUN_OPENSEARCH_MAX_SIZE_PER_BATCH / (dim * 25),
|
@@ -48,22 +53,16 @@ class AliyunOpenSearch(VectorDB):
|
|
48
53
|
)
|
49
54
|
|
50
55
|
log.info(f"Aliyun_OpenSearch client config: {self.db_config}")
|
51
|
-
control_config = open_api_models.Config(
|
52
|
-
access_key_id=self.db_config["ak"],
|
53
|
-
access_key_secret=self.db_config["sk"],
|
54
|
-
endpoint=self.db_config["control_host"],
|
55
|
-
)
|
56
|
-
self.control_client = searchengineClient(control_config)
|
57
56
|
|
58
57
|
if drop_old:
|
59
58
|
log.info(f"aliyun_OpenSearch client drop old index: {self.collection_name}")
|
60
|
-
if self._index_exists(
|
61
|
-
self._modify_index(
|
59
|
+
if self._index_exists(client):
|
60
|
+
self._modify_index(client)
|
62
61
|
else:
|
63
|
-
self._create_index(
|
62
|
+
self._create_index(client)
|
64
63
|
|
65
|
-
def _create_index(self, client:
|
66
|
-
create_table_request =
|
64
|
+
def _create_index(self, client: Client):
|
65
|
+
create_table_request = models.CreateTableRequest()
|
67
66
|
create_table_request.name = self.collection_name
|
68
67
|
create_table_request.primary_key = self._primary_field
|
69
68
|
create_table_request.partition_count = 1
|
@@ -72,14 +71,14 @@ class AliyunOpenSearch(VectorDB):
|
|
72
71
|
self._vector_field: "MULTI_FLOAT",
|
73
72
|
self._scalar_field: "INT64",
|
74
73
|
}
|
75
|
-
vector_index =
|
74
|
+
vector_index = models.ModifyTableRequestVectorIndex()
|
76
75
|
vector_index.index_name = self._index_name
|
77
76
|
vector_index.dimension = self.dim
|
78
77
|
vector_index.distance_type = self.case_config.distance_type()
|
79
78
|
vector_index.vector_field = self._vector_field
|
80
79
|
vector_index.vector_index_type = "HNSW"
|
81
80
|
|
82
|
-
advance_params =
|
81
|
+
advance_params = models.ModifyTableRequestVectorIndexAdvanceParams()
|
83
82
|
str_max_neighbor_count = f'"proxima.hnsw.builder.max_neighbor_count":{self.case_config.M}'
|
84
83
|
str_efc = f'"proxima.hnsw.builder.efconstruction":{self.case_config.ef_construction}'
|
85
84
|
str_enable_adsampling = '"proxima.hnsw.builder.enable_adsampling":true'
|
@@ -95,7 +94,7 @@ class AliyunOpenSearch(VectorDB):
|
|
95
94
|
str_thread_count,
|
96
95
|
],
|
97
96
|
)
|
98
|
-
advance_params.build_index_params = params
|
97
|
+
advance_params.build_index_params = "{" + params + "}"
|
99
98
|
advance_params.search_index_params = (
|
100
99
|
'{"proxima.hnsw.searcher.ef":400,"proxima.hnsw.searcher.dynamic_termination.prob_threshold":0.7}'
|
101
100
|
)
|
@@ -103,7 +102,7 @@ class AliyunOpenSearch(VectorDB):
|
|
103
102
|
create_table_request.vector_index = [vector_index]
|
104
103
|
|
105
104
|
try:
|
106
|
-
response = client.create_table(
|
105
|
+
response = client.create_table(create_table_request)
|
107
106
|
log.info(f"create table success: {response.body}")
|
108
107
|
except Exception as error:
|
109
108
|
log.info(error.message)
|
@@ -115,20 +114,20 @@ class AliyunOpenSearch(VectorDB):
|
|
115
114
|
self._active_index(client)
|
116
115
|
|
117
116
|
# check if index create success
|
118
|
-
def _active_index(self, client:
|
117
|
+
def _active_index(self, client: Client) -> None:
|
119
118
|
retry_times = 0
|
120
119
|
while True:
|
121
120
|
time.sleep(10)
|
122
121
|
log.info(f"begin to {retry_times} times get table")
|
123
122
|
retry_times += 1
|
124
|
-
response = client.get_table(self.
|
123
|
+
response = client.get_table(self.collection_name)
|
125
124
|
if response.body.result.status == "IN_USE":
|
126
125
|
log.info(f"{self.collection_name} table begin to use.")
|
127
126
|
return
|
128
127
|
|
129
|
-
def _index_exists(self, client:
|
128
|
+
def _index_exists(self, client: Client) -> bool:
|
130
129
|
try:
|
131
|
-
client.get_table(self.
|
130
|
+
client.get_table(self.collection_name)
|
132
131
|
except Exception as err:
|
133
132
|
log.warning(f"get table from searchengine error, err={err}")
|
134
133
|
return False
|
@@ -136,7 +135,7 @@ class AliyunOpenSearch(VectorDB):
|
|
136
135
|
return True
|
137
136
|
|
138
137
|
# check if index build success, Insert the embeddings to the vector database after index build success
|
139
|
-
def _index_build_success(self, client:
|
138
|
+
def _index_build_success(self, client: Client) -> None:
|
140
139
|
log.info("begin to check if table build success.")
|
141
140
|
time.sleep(50)
|
142
141
|
|
@@ -145,10 +144,10 @@ class AliyunOpenSearch(VectorDB):
|
|
145
144
|
time.sleep(10)
|
146
145
|
log.info(f"begin to {retry_times} times get table fsm")
|
147
146
|
retry_times += 1
|
148
|
-
request =
|
149
|
-
request.start =
|
150
|
-
request.end = int(time.time())
|
151
|
-
response = client.list_tasks(
|
147
|
+
request = models.ListTasksRequest()
|
148
|
+
request.start = int(time.time()) - 3600
|
149
|
+
request.end = int(time.time())
|
150
|
+
response = client.list_tasks(request)
|
152
151
|
fsms = response.body.result
|
153
152
|
cur_fsm = None
|
154
153
|
for fsm in fsms:
|
@@ -164,11 +163,11 @@ class AliyunOpenSearch(VectorDB):
|
|
164
163
|
if cur_fsm["status"] == "success":
|
165
164
|
return
|
166
165
|
|
167
|
-
def _modify_index(self, client:
|
166
|
+
def _modify_index(self, client: Client) -> None:
|
168
167
|
# check if index create success
|
169
168
|
self._active_index(client)
|
170
169
|
|
171
|
-
modify_table_request =
|
170
|
+
modify_table_request = models.ModifyTableRequest()
|
172
171
|
modify_table_request.partition_count = 1
|
173
172
|
modify_table_request.primary_key = self._primary_field
|
174
173
|
modify_table_request.field_schema = {
|
@@ -176,13 +175,13 @@ class AliyunOpenSearch(VectorDB):
|
|
176
175
|
self._vector_field: "MULTI_FLOAT",
|
177
176
|
self._scalar_field: "INT64",
|
178
177
|
}
|
179
|
-
vector_index =
|
178
|
+
vector_index = models.ModifyTableRequestVectorIndex()
|
180
179
|
vector_index.index_name = self._index_name
|
181
180
|
vector_index.dimension = self.dim
|
182
181
|
vector_index.distance_type = self.case_config.distance_type()
|
183
182
|
vector_index.vector_field = self._vector_field
|
184
183
|
vector_index.vector_index_type = "HNSW"
|
185
|
-
advance_params =
|
184
|
+
advance_params = models.ModifyTableRequestVectorIndexAdvanceParams()
|
186
185
|
|
187
186
|
str_max_neighbor_count = f'"proxima.hnsw.builder.max_neighbor_count":{self.case_config.M}'
|
188
187
|
str_efc = f'"proxima.hnsw.builder.efconstruction":{self.case_config.ef_construction}'
|
@@ -199,7 +198,7 @@ class AliyunOpenSearch(VectorDB):
|
|
199
198
|
str_thread_count,
|
200
199
|
],
|
201
200
|
)
|
202
|
-
advance_params.build_index_params = params
|
201
|
+
advance_params.build_index_params = "{" + params + "}"
|
203
202
|
advance_params.search_index_params = (
|
204
203
|
'{"proxima.hnsw.searcher.ef":400,"proxima.hnsw.searcher.dynamic_termination.prob_threshold":0.7}'
|
205
204
|
)
|
@@ -209,7 +208,6 @@ class AliyunOpenSearch(VectorDB):
|
|
209
208
|
|
210
209
|
try:
|
211
210
|
response = client.modify_table(
|
212
|
-
self.instance_id,
|
213
211
|
self.collection_name,
|
214
212
|
modify_table_request,
|
215
213
|
)
|
@@ -240,14 +238,8 @@ class AliyunOpenSearch(VectorDB):
|
|
240
238
|
@contextmanager
|
241
239
|
def init(self) -> None:
|
242
240
|
"""connect to aliyun opensearch"""
|
243
|
-
config = models.Config(
|
244
|
-
endpoint=self.db_config["host"],
|
245
|
-
protocol="http",
|
246
|
-
access_user_name=self.db_config["user"],
|
247
|
-
access_pass_word=self.db_config["password"],
|
248
|
-
)
|
249
241
|
|
250
|
-
self.client =
|
242
|
+
self.client = Client(self.config)
|
251
243
|
|
252
244
|
yield
|
253
245
|
self.client = None
|
@@ -12,18 +12,11 @@ class AliyunOpenSearchConfig(DBConfig, BaseModel):
|
|
12
12
|
user: str = ""
|
13
13
|
password: SecretStr = ""
|
14
14
|
|
15
|
-
ak: str = ""
|
16
|
-
sk: SecretStr = ""
|
17
|
-
control_host: str = "searchengine.cn-hangzhou.aliyuncs.com"
|
18
|
-
|
19
15
|
def to_dict(self) -> dict:
|
20
16
|
return {
|
21
17
|
"host": self.host,
|
22
18
|
"user": self.user,
|
23
19
|
"password": self.password.get_secret_value(),
|
24
|
-
"ak": self.ak,
|
25
|
-
"sk": self.sk.get_secret_value(),
|
26
|
-
"control_host": self.control_host,
|
27
20
|
}
|
28
21
|
|
29
22
|
|
@@ -109,6 +109,162 @@ def MilvusHNSW(**parameters: Unpack[MilvusHNSWTypedDict]):
|
|
109
109
|
)
|
110
110
|
|
111
111
|
|
112
|
+
class MilvusRefineTypedDict(TypedDict):
|
113
|
+
refine: Annotated[
|
114
|
+
bool,
|
115
|
+
click.option(
|
116
|
+
"--refine",
|
117
|
+
type=bool,
|
118
|
+
required=True,
|
119
|
+
help="Whether refined data is reserved during index building.",
|
120
|
+
),
|
121
|
+
]
|
122
|
+
refine_type: Annotated[
|
123
|
+
str | None,
|
124
|
+
click.option(
|
125
|
+
"--refine-type",
|
126
|
+
type=click.Choice(["SQ6", "SQ8", "BF16", "FP16", "FP32"], case_sensitive=False),
|
127
|
+
help="The data type of the refine index to use. Supported values: SQ6,SQ8,BF16,FP16,FP32",
|
128
|
+
required=True,
|
129
|
+
),
|
130
|
+
]
|
131
|
+
refine_k: Annotated[
|
132
|
+
float,
|
133
|
+
click.option(
|
134
|
+
"--refine-k",
|
135
|
+
type=float,
|
136
|
+
help="The magnification factor of refine compared to k.",
|
137
|
+
required=True,
|
138
|
+
),
|
139
|
+
]
|
140
|
+
|
141
|
+
|
142
|
+
class MilvusHNSWPQTypedDict(
|
143
|
+
CommonTypedDict,
|
144
|
+
MilvusTypedDict,
|
145
|
+
MilvusHNSWTypedDict,
|
146
|
+
MilvusRefineTypedDict
|
147
|
+
):
|
148
|
+
nbits: Annotated[
|
149
|
+
int,
|
150
|
+
click.option(
|
151
|
+
"--nbits",
|
152
|
+
type=int,
|
153
|
+
required=True,
|
154
|
+
)
|
155
|
+
]
|
156
|
+
|
157
|
+
|
158
|
+
@cli.command()
|
159
|
+
@click_parameter_decorators_from_typed_dict(MilvusHNSWPQTypedDict)
|
160
|
+
def MilvusHNSWPQ(**parameters: Unpack[MilvusHNSWPQTypedDict]):
|
161
|
+
from .config import HNSWPQConfig, MilvusConfig
|
162
|
+
|
163
|
+
run(
|
164
|
+
db=DBTYPE,
|
165
|
+
db_config=MilvusConfig(
|
166
|
+
db_label=parameters["db_label"],
|
167
|
+
uri=SecretStr(parameters["uri"]),
|
168
|
+
user=parameters["user_name"],
|
169
|
+
password=SecretStr(parameters["password"]) if parameters["password"] else None,
|
170
|
+
num_shards=int(parameters["num_shards"]),
|
171
|
+
),
|
172
|
+
db_case_config=HNSWPQConfig(
|
173
|
+
M=parameters["m"],
|
174
|
+
efConstruction=parameters["ef_construction"],
|
175
|
+
ef=parameters["ef_search"],
|
176
|
+
nbits=parameters["nbits"],
|
177
|
+
refine=parameters["refine"],
|
178
|
+
refine_type=parameters["refine_type"],
|
179
|
+
refine_k=parameters["refine_k"],
|
180
|
+
),
|
181
|
+
**parameters,
|
182
|
+
)
|
183
|
+
|
184
|
+
|
185
|
+
class MilvusHNSWPRQTypedDict(
|
186
|
+
CommonTypedDict,
|
187
|
+
MilvusTypedDict,
|
188
|
+
MilvusHNSWPQTypedDict,
|
189
|
+
):
|
190
|
+
nrq: Annotated[
|
191
|
+
int,
|
192
|
+
click.option(
|
193
|
+
"--nrq",
|
194
|
+
type=int,
|
195
|
+
help="The number of residual subquantizers.",
|
196
|
+
required=True,
|
197
|
+
)
|
198
|
+
]
|
199
|
+
|
200
|
+
|
201
|
+
@cli.command()
|
202
|
+
@click_parameter_decorators_from_typed_dict(MilvusHNSWPRQTypedDict)
|
203
|
+
def MilvusHNSWPRQ(**parameters: Unpack[MilvusHNSWPRQTypedDict]):
|
204
|
+
from .config import HNSWPRQConfig, MilvusConfig
|
205
|
+
|
206
|
+
run(
|
207
|
+
db=DBTYPE,
|
208
|
+
db_config=MilvusConfig(
|
209
|
+
db_label=parameters["db_label"],
|
210
|
+
uri=SecretStr(parameters["uri"]),
|
211
|
+
user=parameters["user_name"],
|
212
|
+
password=SecretStr(parameters["password"]) if parameters["password"] else None,
|
213
|
+
num_shards=int(parameters["num_shards"]),
|
214
|
+
),
|
215
|
+
db_case_config=HNSWPRQConfig(
|
216
|
+
M=parameters["m"],
|
217
|
+
efConstruction=parameters["ef_construction"],
|
218
|
+
ef=parameters["ef_search"],
|
219
|
+
nbits=parameters["nbits"],
|
220
|
+
refine=parameters["refine"],
|
221
|
+
refine_type=parameters["refine_type"],
|
222
|
+
refine_k=parameters["refine_k"],
|
223
|
+
nrq=parameters["nrq"]
|
224
|
+
),
|
225
|
+
**parameters,
|
226
|
+
)
|
227
|
+
|
228
|
+
|
229
|
+
class MilvusHNSWSQTypedDict(CommonTypedDict, MilvusTypedDict, MilvusHNSWTypedDict, MilvusRefineTypedDict):
|
230
|
+
sq_type: Annotated[
|
231
|
+
str | None,
|
232
|
+
click.option(
|
233
|
+
"--sq-type",
|
234
|
+
type=click.Choice(["SQ6", "SQ8", "BF16", "FP16", "FP32"], case_sensitive=False),
|
235
|
+
help="Scalar quantizer type. Supported values: SQ6,SQ8,BF16,FP16,FP32",
|
236
|
+
required=True,
|
237
|
+
),
|
238
|
+
]
|
239
|
+
|
240
|
+
|
241
|
+
@cli.command()
|
242
|
+
@click_parameter_decorators_from_typed_dict(MilvusHNSWSQTypedDict)
|
243
|
+
def MilvusHNSWSQ(**parameters: Unpack[MilvusHNSWSQTypedDict]):
|
244
|
+
from .config import HNSWSQConfig, MilvusConfig
|
245
|
+
|
246
|
+
run(
|
247
|
+
db=DBTYPE,
|
248
|
+
db_config=MilvusConfig(
|
249
|
+
db_label=parameters["db_label"],
|
250
|
+
uri=SecretStr(parameters["uri"]),
|
251
|
+
user=parameters["user_name"],
|
252
|
+
password=SecretStr(parameters["password"]) if parameters["password"] else None,
|
253
|
+
num_shards=int(parameters["num_shards"]),
|
254
|
+
),
|
255
|
+
db_case_config=HNSWSQConfig(
|
256
|
+
M=parameters["m"],
|
257
|
+
efConstruction=parameters["ef_construction"],
|
258
|
+
ef=parameters["ef_search"],
|
259
|
+
sq_type=parameters["sq_type"],
|
260
|
+
refine=parameters["refine"],
|
261
|
+
refine_type=parameters["refine_type"],
|
262
|
+
refine_k=parameters["refine_k"],
|
263
|
+
),
|
264
|
+
**parameters,
|
265
|
+
)
|
266
|
+
|
267
|
+
|
112
268
|
class MilvusIVFFlatTypedDict(CommonTypedDict, MilvusTypedDict, IVFFlatTypedDictN): ...
|
113
269
|
|
114
270
|
|
@@ -156,6 +312,71 @@ def MilvusIVFSQ8(**parameters: Unpack[MilvusIVFFlatTypedDict]):
|
|
156
312
|
)
|
157
313
|
|
158
314
|
|
315
|
+
class MilvusIVFRABITQTypedDict(CommonTypedDict, MilvusTypedDict, MilvusIVFFlatTypedDict):
|
316
|
+
rbq_bits_query: Annotated[
|
317
|
+
int,
|
318
|
+
click.option(
|
319
|
+
"--rbq-bits-query",
|
320
|
+
type=int,
|
321
|
+
help="The magnification factor of refine compared to k.",
|
322
|
+
required=True,
|
323
|
+
),
|
324
|
+
]
|
325
|
+
refine: Annotated[
|
326
|
+
bool,
|
327
|
+
click.option(
|
328
|
+
"--refine",
|
329
|
+
type=bool,
|
330
|
+
required=True,
|
331
|
+
help="Whether refined data is reserved during index building.",
|
332
|
+
),
|
333
|
+
]
|
334
|
+
refine_type: Annotated[
|
335
|
+
str | None,
|
336
|
+
click.option(
|
337
|
+
"--refine-type",
|
338
|
+
type=click.Choice(["SQ6", "SQ8", "BF16", "FP16", "FP32"], case_sensitive=False),
|
339
|
+
help="The data type of the refine index to use. Supported values: SQ6,SQ8,BF16,FP16,FP32",
|
340
|
+
required=True,
|
341
|
+
),
|
342
|
+
]
|
343
|
+
refine_k: Annotated[
|
344
|
+
float,
|
345
|
+
click.option(
|
346
|
+
"--refine-k",
|
347
|
+
type=float,
|
348
|
+
help="The magnification factor of refine compared to k.",
|
349
|
+
required=True,
|
350
|
+
),
|
351
|
+
]
|
352
|
+
|
353
|
+
|
354
|
+
@cli.command()
|
355
|
+
@click_parameter_decorators_from_typed_dict(MilvusIVFRABITQTypedDict)
|
356
|
+
def MilvusIVFRabitQ(**parameters: Unpack[MilvusIVFRABITQTypedDict]):
|
357
|
+
from .config import IVFRABITQConfig, MilvusConfig
|
358
|
+
|
359
|
+
run(
|
360
|
+
db=DBTYPE,
|
361
|
+
db_config=MilvusConfig(
|
362
|
+
db_label=parameters["db_label"],
|
363
|
+
uri=SecretStr(parameters["uri"]),
|
364
|
+
user=parameters["user_name"],
|
365
|
+
password=SecretStr(parameters["password"]) if parameters["password"] else None,
|
366
|
+
num_shards=int(parameters["num_shards"]),
|
367
|
+
),
|
368
|
+
db_case_config=IVFRABITQConfig(
|
369
|
+
nlist=parameters["nlist"],
|
370
|
+
nprobe=parameters["nprobe"],
|
371
|
+
rbq_bits_query=parameters["rbq_bits_query"],
|
372
|
+
refine=parameters["refine"],
|
373
|
+
refine_type=parameters["refine_type"],
|
374
|
+
refine_k=parameters["refine_k"],
|
375
|
+
),
|
376
|
+
**parameters,
|
377
|
+
)
|
378
|
+
|
379
|
+
|
159
380
|
class MilvusDISKANNTypedDict(CommonTypedDict, MilvusTypedDict):
|
160
381
|
search_list: Annotated[str, click.option("--search-list", type=int, required=True)]
|
161
382
|
|
@@ -294,6 +294,7 @@ class DatasetManager(BaseModel):
|
|
294
294
|
download_files.extend([gt_file, test_file])
|
295
295
|
if self.data.with_scalar_labels and self.data.scalar_labels_file_separated:
|
296
296
|
download_files.append(self.data.scalar_labels_file)
|
297
|
+
download_files = [file for file in download_files if file is not None]
|
297
298
|
source.reader().read(
|
298
299
|
dataset=self.data.dir_name.lower(),
|
299
300
|
files=download_files,
|
@@ -4139,7 +4139,7 @@
|
|
4139
4139
|
"task_config": {
|
4140
4140
|
"db": "ElasticCloud",
|
4141
4141
|
"db_config": {
|
4142
|
-
"db_label": "8c60g",
|
4142
|
+
"db_label": "8c60g-force_merge",
|
4143
4143
|
"version": "8.17",
|
4144
4144
|
"note": "",
|
4145
4145
|
"cloud_id": "**********",
|
@@ -4250,7 +4250,7 @@
|
|
4250
4250
|
"task_config": {
|
4251
4251
|
"db": "ElasticCloud",
|
4252
4252
|
"db_config": {
|
4253
|
-
"db_label": "8c60g",
|
4253
|
+
"db_label": "8c60g-force_merge",
|
4254
4254
|
"version": "8.17",
|
4255
4255
|
"note": "",
|
4256
4256
|
"cloud_id": "**********",
|
@@ -4361,7 +4361,7 @@
|
|
4361
4361
|
"task_config": {
|
4362
4362
|
"db": "ElasticCloud",
|
4363
4363
|
"db_config": {
|
4364
|
-
"db_label": "8c60g",
|
4364
|
+
"db_label": "8c60g-force_merge",
|
4365
4365
|
"version": "8.17",
|
4366
4366
|
"note": "",
|
4367
4367
|
"cloud_id": "**********",
|
@@ -4472,7 +4472,7 @@
|
|
4472
4472
|
"task_config": {
|
4473
4473
|
"db": "ElasticCloud",
|
4474
4474
|
"db_config": {
|
4475
|
-
"db_label": "8c60g",
|
4475
|
+
"db_label": "8c60g-force_merge",
|
4476
4476
|
"version": "8.17",
|
4477
4477
|
"note": "",
|
4478
4478
|
"cloud_id": "**********",
|
@@ -4583,7 +4583,7 @@
|
|
4583
4583
|
"task_config": {
|
4584
4584
|
"db": "ElasticCloud",
|
4585
4585
|
"db_config": {
|
4586
|
-
"db_label": "8c60g",
|
4586
|
+
"db_label": "8c60g-force_merge",
|
4587
4587
|
"version": "8.17",
|
4588
4588
|
"note": "",
|
4589
4589
|
"cloud_id": "**********",
|
@@ -4694,7 +4694,7 @@
|
|
4694
4694
|
"task_config": {
|
4695
4695
|
"db": "ElasticCloud",
|
4696
4696
|
"db_config": {
|
4697
|
-
"db_label": "8c60g",
|
4697
|
+
"db_label": "8c60g-force_merge",
|
4698
4698
|
"version": "8.17",
|
4699
4699
|
"note": "",
|
4700
4700
|
"cloud_id": "**********",
|
{vectordb_bench-1.0.2 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardDataV2.py
RENAMED
@@ -49,7 +49,7 @@ def main():
|
|
49
49
|
"qps": round(qps, 4),
|
50
50
|
"latency": round(latency, 4),
|
51
51
|
"recall": round(recall, 4),
|
52
|
-
"filter_ratio": round(filter_ratio,
|
52
|
+
"filter_ratio": round(filter_ratio, 3),
|
53
53
|
}
|
54
54
|
)
|
55
55
|
save_to_json(data, config.RESULTS_LOCAL_DIR / "leaderboard_v2.json")
|