vectordb-bench 1.0.3__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.3 → vectordb_bench-1.0.4}/PKG-INFO +1 -3
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/pyproject.toml +1 -2
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/aliyun_opensearch.py +34 -42
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/config.py +0 -7
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/cli.py +221 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/PKG-INFO +1 -3
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/requires.txt +0 -2
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.devcontainer/Dockerfile +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.devcontainer/devcontainer.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.env.example +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.github/workflows/publish_package_on_release.yml +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.github/workflows/pull_request.yml +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.gitignore +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/Dockerfile +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/LICENSE +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/Makefile +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/OWNERS +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/README.md +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/custom_case_run_test.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/custom_dataset.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/bar-chart.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/concurrent.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/custom.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/label_filter.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/qp$.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/run_test.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/streaming.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/table.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_select_case.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_select_db.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_submit.png +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/install/requirements_py3.11.txt +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/install.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/setup.cfg +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/conftest.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/pytest.ini +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_bench_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_chroma.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_data_source.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_dataset.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_elasticsearch_cloud.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_models.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_rate_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_redis.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_utils.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/ut_cases.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/__init__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/__main__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/__init__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/assembler.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/cases.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/__init__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/aliyun_elasticsearch.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/alloydb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/api.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/run.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/chroma.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/clickhouse.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/lancedb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/mariadb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/memorydb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/milvus.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/mongodb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/oceanbase.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/pgdiskann.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/pgvecto_rs.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/pgvector.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/pgvectorscale.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/pinecone.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/qdrant_local.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/redis.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/test.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/tidb.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/util.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/vespa.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/weaviate_cloud.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/config.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/data_source.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/dataset.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/filter.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/result_collector.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/__init__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/mp_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/rate_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/read_write_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/serial_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/util.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/task_runner.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/utils.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/base.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/__init__.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/batch_cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/cli.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/vectordbbench.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/config-files/batch_sample_config.yml +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/config-files/sample_config.yml +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/custom/custom_case.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/charts.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/data.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/expanderStyle.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/filters.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/footer.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/headerIcon.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/nav.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/priceTable.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/stPageConfig.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/concurrent/charts.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displayCustomCase.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displaypPrams.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/getCustomConfig.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/initStyle.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/get_results/saveAsImage.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/label_filter/charts.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/autoRefresh.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/caseSelector.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbConfigSetting.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbSelector.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/generateTasks.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/hideSidebar.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/initStyle.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/inputWidget.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/submitTask.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/charts.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/data.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/tables/data.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/explainPrams.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/pagestyle.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/welcomePrams.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbCaseConfigs.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbPrices.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/styles.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/concurrent.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/custom.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/label_filter.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/quries_per_dollar.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/results.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/run_test.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/streaming.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/tables.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/utils.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/vdbbench.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/interface.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/log_util.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/metric.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/models.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230727_standard_elasticcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230808_standard_elasticcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20250318_standard_elasticcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230727_standard_milvus.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230808_standard_milvus.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20250509_standard_milvus.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/OpenSearch/result_20250224_standard_opensearch.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230727_standard_pgvector.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230808_standard_pgvector.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230727_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230808_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20250124_standard_pinecone.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230727_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230808_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20250602_standard_qdrantcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230727_standard_weaviatecloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ZillizCloud/result_20250613_standard_zillizcloud.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/dbPrices.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardData.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardDataV2.py +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard_v2.json +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/SOURCES.txt +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/dependency_links.txt +0 -0
- {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/entry_points.txt +0 -0
- {vectordb_bench-1.0.3 → 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
|
@@ -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
|
|
@@ -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
|
@@ -16,7 +16,6 @@ pymilvus
|
|
16
16
|
|
17
17
|
[aliyun_opensearch]
|
18
18
|
alibabacloud_ha3engine_vector
|
19
|
-
alibabacloud_searchengine20211025
|
20
19
|
|
21
20
|
[all]
|
22
21
|
grpcio==1.53.0
|
@@ -36,7 +35,6 @@ opensearch-dsl
|
|
36
35
|
opensearch-py
|
37
36
|
memorydb
|
38
37
|
alibabacloud_ha3engine_vector
|
39
|
-
alibabacloud_searchengine20211025
|
40
38
|
mariadb
|
41
39
|
PyMySQL
|
42
40
|
clickhouse-connect
|
File without changes
|
File without changes
|
File without changes
|
{vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.github/workflows/publish_package_on_release.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|