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.
Files changed (219) hide show
  1. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/PKG-INFO +1 -3
  2. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/pyproject.toml +1 -2
  3. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/aliyun_opensearch.py +34 -42
  4. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_opensearch/config.py +0 -7
  5. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/cli.py +221 -0
  6. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/PKG-INFO +1 -3
  7. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/requires.txt +0 -2
  8. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.devcontainer/Dockerfile +0 -0
  9. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.devcontainer/devcontainer.json +0 -0
  10. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.env.example +0 -0
  11. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.github/workflows/publish_package_on_release.yml +0 -0
  12. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.github/workflows/pull_request.yml +0 -0
  13. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/.gitignore +0 -0
  14. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/Dockerfile +0 -0
  15. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/LICENSE +0 -0
  16. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/Makefile +0 -0
  17. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/OWNERS +0 -0
  18. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/README.md +0 -0
  19. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/custom_case_run_test.png +0 -0
  20. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/custom_dataset.png +0 -0
  21. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/bar-chart.png +0 -0
  22. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/concurrent.png +0 -0
  23. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/custom.png +0 -0
  24. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/label_filter.png +0 -0
  25. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/qp$.png +0 -0
  26. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/run_test.png +0 -0
  27. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/streaming.png +0 -0
  28. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/homepage/table.png +0 -0
  29. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_select_case.png +0 -0
  30. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_select_db.png +0 -0
  31. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/fig/run_test_submit.png +0 -0
  32. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/install/requirements_py3.11.txt +0 -0
  33. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/install.py +0 -0
  34. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/setup.cfg +0 -0
  35. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/conftest.py +0 -0
  36. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/pytest.ini +0 -0
  37. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_bench_runner.py +0 -0
  38. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_chroma.py +0 -0
  39. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_data_source.py +0 -0
  40. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_dataset.py +0 -0
  41. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_elasticsearch_cloud.py +0 -0
  42. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_models.py +0 -0
  43. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_rate_runner.py +0 -0
  44. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_redis.py +0 -0
  45. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/test_utils.py +0 -0
  46. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/tests/ut_cases.py +0 -0
  47. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/__init__.py +0 -0
  48. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/__main__.py +0 -0
  49. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/__init__.py +0 -0
  50. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/assembler.py +0 -0
  51. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/cases.py +0 -0
  52. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/__init__.py +0 -0
  53. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/aliyun_elasticsearch.py +0 -0
  54. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aliyun_elasticsearch/config.py +0 -0
  55. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/alloydb.py +0 -0
  56. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/cli.py +0 -0
  57. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/alloydb/config.py +0 -0
  58. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/api.py +0 -0
  59. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +0 -0
  60. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/cli.py +0 -0
  61. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/config.py +0 -0
  62. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/aws_opensearch/run.py +0 -0
  63. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/chroma.py +0 -0
  64. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/chroma/config.py +0 -0
  65. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/cli.py +0 -0
  66. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/clickhouse.py +0 -0
  67. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/clickhouse/config.py +0 -0
  68. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/config.py +0 -0
  69. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +0 -0
  70. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/cli.py +0 -0
  71. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/config.py +0 -0
  72. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/lancedb/lancedb.py +0 -0
  73. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/cli.py +0 -0
  74. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/config.py +0 -0
  75. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mariadb/mariadb.py +0 -0
  76. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/cli.py +0 -0
  77. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/config.py +0 -0
  78. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/memorydb/memorydb.py +0 -0
  79. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/config.py +0 -0
  80. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/milvus/milvus.py +0 -0
  81. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/config.py +0 -0
  82. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/mongodb/mongodb.py +0 -0
  83. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/cli.py +0 -0
  84. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/config.py +0 -0
  85. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/oceanbase/oceanbase.py +0 -0
  86. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/cli.py +0 -0
  87. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/config.py +0 -0
  88. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgdiskann/pgdiskann.py +0 -0
  89. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/cli.py +0 -0
  90. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/config.py +0 -0
  91. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvecto_rs/pgvecto_rs.py +0 -0
  92. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/cli.py +0 -0
  93. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/config.py +0 -0
  94. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvector/pgvector.py +0 -0
  95. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/cli.py +0 -0
  96. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/config.py +0 -0
  97. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pgvectorscale/pgvectorscale.py +0 -0
  98. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/config.py +0 -0
  99. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/pinecone/pinecone.py +0 -0
  100. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/cli.py +0 -0
  101. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/config.py +0 -0
  102. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +0 -0
  103. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/cli.py +0 -0
  104. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/config.py +0 -0
  105. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/qdrant_local/qdrant_local.py +0 -0
  106. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/cli.py +0 -0
  107. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/config.py +0 -0
  108. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/redis/redis.py +0 -0
  109. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/cli.py +0 -0
  110. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/config.py +0 -0
  111. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/test/test.py +0 -0
  112. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/cli.py +0 -0
  113. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/config.py +0 -0
  114. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/tidb/tidb.py +0 -0
  115. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/cli.py +0 -0
  116. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/config.py +0 -0
  117. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/util.py +0 -0
  118. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/vespa/vespa.py +0 -0
  119. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/cli.py +0 -0
  120. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/config.py +0 -0
  121. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/weaviate_cloud/weaviate_cloud.py +0 -0
  122. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/cli.py +0 -0
  123. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/config.py +0 -0
  124. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py +0 -0
  125. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/data_source.py +0 -0
  126. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/dataset.py +0 -0
  127. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/filter.py +0 -0
  128. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/result_collector.py +0 -0
  129. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/__init__.py +0 -0
  130. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/mp_runner.py +0 -0
  131. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/rate_runner.py +0 -0
  132. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/read_write_runner.py +0 -0
  133. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/serial_runner.py +0 -0
  134. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/runner/util.py +0 -0
  135. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/task_runner.py +0 -0
  136. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/backend/utils.py +0 -0
  137. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/base.py +0 -0
  138. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/__init__.py +0 -0
  139. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/batch_cli.py +0 -0
  140. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/cli.py +0 -0
  141. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/cli/vectordbbench.py +0 -0
  142. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/config-files/batch_sample_config.yml +0 -0
  143. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/config-files/sample_config.yml +0 -0
  144. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/custom/custom_case.json +0 -0
  145. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/charts.py +0 -0
  146. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/data.py +0 -0
  147. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/expanderStyle.py +0 -0
  148. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/filters.py +0 -0
  149. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/footer.py +0 -0
  150. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/headerIcon.py +0 -0
  151. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/nav.py +0 -0
  152. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/priceTable.py +0 -0
  153. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/check_results/stPageConfig.py +0 -0
  154. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/concurrent/charts.py +0 -0
  155. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displayCustomCase.py +0 -0
  156. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/displaypPrams.py +0 -0
  157. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/getCustomConfig.py +0 -0
  158. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/custom/initStyle.py +0 -0
  159. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/get_results/saveAsImage.py +0 -0
  160. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/label_filter/charts.py +0 -0
  161. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/autoRefresh.py +0 -0
  162. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/caseSelector.py +0 -0
  163. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbConfigSetting.py +0 -0
  164. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/dbSelector.py +0 -0
  165. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/generateTasks.py +0 -0
  166. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/hideSidebar.py +0 -0
  167. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/initStyle.py +0 -0
  168. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/inputWidget.py +0 -0
  169. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/run_test/submitTask.py +0 -0
  170. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/charts.py +0 -0
  171. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/streaming/data.py +0 -0
  172. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/tables/data.py +0 -0
  173. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/explainPrams.py +0 -0
  174. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/pagestyle.py +0 -0
  175. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/components/welcome/welcomePrams.py +0 -0
  176. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbCaseConfigs.py +0 -0
  177. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/dbPrices.py +0 -0
  178. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/config/styles.py +0 -0
  179. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/concurrent.py +0 -0
  180. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/custom.py +0 -0
  181. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/label_filter.py +0 -0
  182. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/quries_per_dollar.py +0 -0
  183. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/results.py +0 -0
  184. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/run_test.py +0 -0
  185. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/streaming.py +0 -0
  186. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/pages/tables.py +0 -0
  187. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/utils.py +0 -0
  188. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/frontend/vdbbench.py +0 -0
  189. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/interface.py +0 -0
  190. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/log_util.py +0 -0
  191. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/metric.py +0 -0
  192. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/models.py +0 -0
  193. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230727_standard_elasticcloud.json +0 -0
  194. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20230808_standard_elasticcloud.json +0 -0
  195. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ElasticCloud/result_20250318_standard_elasticcloud.json +0 -0
  196. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230727_standard_milvus.json +0 -0
  197. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20230808_standard_milvus.json +0 -0
  198. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Milvus/result_20250509_standard_milvus.json +0 -0
  199. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/OpenSearch/result_20250224_standard_opensearch.json +0 -0
  200. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230727_standard_pgvector.json +0 -0
  201. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/PgVector/result_20230808_standard_pgvector.json +0 -0
  202. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230727_standard_pinecone.json +0 -0
  203. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20230808_standard_pinecone.json +0 -0
  204. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/Pinecone/result_20250124_standard_pinecone.json +0 -0
  205. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230727_standard_qdrantcloud.json +0 -0
  206. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20230808_standard_qdrantcloud.json +0 -0
  207. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/QdrantCloud/result_20250602_standard_qdrantcloud.json +0 -0
  208. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230727_standard_weaviatecloud.json +0 -0
  209. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json +0 -0
  210. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/ZillizCloud/result_20250613_standard_zillizcloud.json +0 -0
  211. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/dbPrices.json +0 -0
  212. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardData.py +0 -0
  213. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/getLeaderboardDataV2.py +0 -0
  214. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard.json +0 -0
  215. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench/results/leaderboard_v2.json +0 -0
  216. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/SOURCES.txt +0 -0
  217. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/dependency_links.txt +0 -0
  218. {vectordb_bench-1.0.3 → vectordb_bench-1.0.4}/vectordb_bench.egg-info/entry_points.txt +0 -0
  219. {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
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", "alibabacloud_searchengine20211025"]
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 client, models
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(self.control_client):
61
- self._modify_index(self.control_client)
59
+ if self._index_exists(client):
60
+ self._modify_index(client)
62
61
  else:
63
- self._create_index(self.control_client)
62
+ self._create_index(client)
64
63
 
65
- def _create_index(self, client: searchengineClient):
66
- create_table_request = searchengine_models.CreateTableRequest()
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 = searchengine_models.ModifyTableRequestVectorIndex()
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 = searchengine_models.ModifyTableRequestVectorIndexAdvanceParams()
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(self.instance_id, create_table_request)
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: searchengineClient) -> None:
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.instance_id, self.collection_name)
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: searchengineClient) -> bool:
128
+ def _index_exists(self, client: Client) -> bool:
130
129
  try:
131
- client.get_table(self.instance_id, self.collection_name)
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: searchengineClient) -> None:
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 = searchengine_models.ListTasksRequest()
149
- request.start = (int(time.time()) - 3600) * 1000
150
- request.end = int(time.time()) * 1000
151
- response = client.list_tasks(self.instance_id, request)
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: searchengineClient) -> None:
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 = searchengine_models.ModifyTableRequest()
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 = searchengine_models.ModifyTableRequestVectorIndex()
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 = searchengine_models.ModifyTableRequestVectorIndexAdvanceParams()
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 = client.Client(config)
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
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
File without changes
File without changes