vectordb-bench 1.0.0__tar.gz → 1.0.2__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.0 → vectordb_bench-1.0.2}/PKG-INFO +10 -10
  2. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/README.md +9 -9
  3. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/pyproject.toml +6 -0
  4. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/__main__.py +1 -1
  5. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/api.py +1 -1
  6. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aws_opensearch/config.py +14 -0
  7. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/elastic_cloud/config.py +12 -0
  8. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/milvus/milvus.py +2 -2
  9. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_cloud/config.py +14 -0
  10. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py +1 -1
  11. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/dataset.py +3 -0
  12. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/task_runner.py +11 -0
  13. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/headerIcon.py +4 -2
  14. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/welcome/explainPrams.py +8 -8
  15. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/welcome/welcomePrams.py +1 -1
  16. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/config/dbCaseConfigs.py +3 -3
  17. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/config/styles.py +2 -2
  18. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/results.py +5 -3
  19. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/interface.py +2 -1
  20. vectordb_bench-1.0.2/vectordb_bench/results/getLeaderboardDataV2.py +59 -0
  21. vectordb_bench-1.0.2/vectordb_bench/results/leaderboard_v2.json +2662 -0
  22. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench.egg-info/PKG-INFO +10 -10
  23. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench.egg-info/SOURCES.txt +3 -1
  24. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.devcontainer/Dockerfile +0 -0
  25. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.devcontainer/devcontainer.json +0 -0
  26. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.env.example +0 -0
  27. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.github/workflows/publish_package_on_release.yml +0 -0
  28. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.github/workflows/pull_request.yml +0 -0
  29. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/.gitignore +0 -0
  30. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/Dockerfile +0 -0
  31. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/LICENSE +0 -0
  32. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/Makefile +0 -0
  33. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/OWNERS +0 -0
  34. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/custom_case_run_test.png +0 -0
  35. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/custom_dataset.png +0 -0
  36. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/bar-chart.png +0 -0
  37. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/concurrent.png +0 -0
  38. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/custom.png +0 -0
  39. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/label_filter.png +0 -0
  40. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/qp$.png +0 -0
  41. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/run_test.png +0 -0
  42. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/streaming.png +0 -0
  43. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/homepage/table.png +0 -0
  44. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/run_test_select_case.png +0 -0
  45. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/run_test_select_db.png +0 -0
  46. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/fig/run_test_submit.png +0 -0
  47. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/install/requirements_py3.11.txt +0 -0
  48. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/install.py +0 -0
  49. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/setup.cfg +0 -0
  50. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/conftest.py +0 -0
  51. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/pytest.ini +0 -0
  52. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_bench_runner.py +0 -0
  53. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_chroma.py +0 -0
  54. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_data_source.py +0 -0
  55. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_dataset.py +0 -0
  56. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_elasticsearch_cloud.py +0 -0
  57. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_models.py +0 -0
  58. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_rate_runner.py +0 -0
  59. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_redis.py +0 -0
  60. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/test_utils.py +0 -0
  61. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/tests/ut_cases.py +0 -0
  62. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/__init__.py +0 -0
  63. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/__init__.py +0 -0
  64. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/assembler.py +0 -0
  65. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/cases.py +0 -0
  66. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/__init__.py +0 -0
  67. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aliyun_elasticsearch/aliyun_elasticsearch.py +0 -0
  68. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aliyun_elasticsearch/config.py +0 -0
  69. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aliyun_opensearch/aliyun_opensearch.py +0 -0
  70. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aliyun_opensearch/config.py +0 -0
  71. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/alloydb/alloydb.py +0 -0
  72. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/alloydb/cli.py +0 -0
  73. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/alloydb/config.py +0 -0
  74. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +0 -0
  75. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aws_opensearch/cli.py +0 -0
  76. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/aws_opensearch/run.py +0 -0
  77. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/chroma/chroma.py +0 -0
  78. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/chroma/config.py +0 -0
  79. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/clickhouse/cli.py +0 -0
  80. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/clickhouse/clickhouse.py +0 -0
  81. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/clickhouse/config.py +0 -0
  82. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +0 -0
  83. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/lancedb/cli.py +0 -0
  84. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/lancedb/config.py +0 -0
  85. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/lancedb/lancedb.py +0 -0
  86. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/mariadb/cli.py +0 -0
  87. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/mariadb/config.py +0 -0
  88. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/mariadb/mariadb.py +0 -0
  89. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/memorydb/cli.py +0 -0
  90. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/memorydb/config.py +0 -0
  91. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/memorydb/memorydb.py +0 -0
  92. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/milvus/cli.py +0 -0
  93. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/milvus/config.py +0 -0
  94. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/mongodb/config.py +0 -0
  95. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/mongodb/mongodb.py +0 -0
  96. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/oceanbase/cli.py +0 -0
  97. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/oceanbase/config.py +0 -0
  98. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/oceanbase/oceanbase.py +0 -0
  99. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgdiskann/cli.py +0 -0
  100. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgdiskann/config.py +0 -0
  101. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgdiskann/pgdiskann.py +0 -0
  102. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvecto_rs/cli.py +0 -0
  103. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvecto_rs/config.py +0 -0
  104. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvecto_rs/pgvecto_rs.py +0 -0
  105. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvector/cli.py +0 -0
  106. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvector/config.py +0 -0
  107. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvector/pgvector.py +0 -0
  108. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvectorscale/cli.py +0 -0
  109. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvectorscale/config.py +0 -0
  110. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pgvectorscale/pgvectorscale.py +0 -0
  111. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pinecone/config.py +0 -0
  112. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/pinecone/pinecone.py +0 -0
  113. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_cloud/cli.py +0 -0
  114. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +0 -0
  115. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_local/cli.py +0 -0
  116. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_local/config.py +0 -0
  117. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/qdrant_local/qdrant_local.py +0 -0
  118. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/redis/cli.py +0 -0
  119. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/redis/config.py +0 -0
  120. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/redis/redis.py +0 -0
  121. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/test/cli.py +0 -0
  122. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/test/config.py +0 -0
  123. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/test/test.py +0 -0
  124. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/tidb/cli.py +0 -0
  125. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/tidb/config.py +0 -0
  126. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/tidb/tidb.py +0 -0
  127. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/vespa/cli.py +0 -0
  128. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/vespa/config.py +0 -0
  129. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/vespa/util.py +0 -0
  130. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/vespa/vespa.py +0 -0
  131. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/weaviate_cloud/cli.py +0 -0
  132. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/weaviate_cloud/config.py +0 -0
  133. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/weaviate_cloud/weaviate_cloud.py +0 -0
  134. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/zilliz_cloud/cli.py +0 -0
  135. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/clients/zilliz_cloud/config.py +0 -0
  136. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/data_source.py +0 -0
  137. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/filter.py +0 -0
  138. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/result_collector.py +0 -0
  139. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/__init__.py +0 -0
  140. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/mp_runner.py +0 -0
  141. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/rate_runner.py +0 -0
  142. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/read_write_runner.py +0 -0
  143. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/serial_runner.py +0 -0
  144. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/runner/util.py +0 -0
  145. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/backend/utils.py +0 -0
  146. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/base.py +0 -0
  147. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/cli/__init__.py +0 -0
  148. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/cli/batch_cli.py +0 -0
  149. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/cli/cli.py +0 -0
  150. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/cli/vectordbbench.py +0 -0
  151. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/config-files/batch_sample_config.yml +0 -0
  152. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/config-files/sample_config.yml +0 -0
  153. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/custom/custom_case.json +0 -0
  154. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/charts.py +0 -0
  155. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/data.py +0 -0
  156. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/expanderStyle.py +0 -0
  157. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/filters.py +0 -0
  158. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/footer.py +0 -0
  159. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/nav.py +0 -0
  160. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/priceTable.py +0 -0
  161. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/check_results/stPageConfig.py +0 -0
  162. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/concurrent/charts.py +0 -0
  163. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/custom/displayCustomCase.py +0 -0
  164. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/custom/displaypPrams.py +0 -0
  165. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/custom/getCustomConfig.py +0 -0
  166. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/custom/initStyle.py +0 -0
  167. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/get_results/saveAsImage.py +0 -0
  168. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/label_filter/charts.py +0 -0
  169. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/autoRefresh.py +0 -0
  170. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/caseSelector.py +0 -0
  171. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/dbConfigSetting.py +0 -0
  172. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/dbSelector.py +0 -0
  173. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/generateTasks.py +0 -0
  174. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/hideSidebar.py +0 -0
  175. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/initStyle.py +0 -0
  176. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/inputWidget.py +0 -0
  177. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/run_test/submitTask.py +0 -0
  178. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/streaming/charts.py +0 -0
  179. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/streaming/data.py +0 -0
  180. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/tables/data.py +0 -0
  181. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/components/welcome/pagestyle.py +0 -0
  182. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/config/dbPrices.py +0 -0
  183. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/concurrent.py +0 -0
  184. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/custom.py +0 -0
  185. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/label_filter.py +0 -0
  186. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/quries_per_dollar.py +0 -0
  187. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/run_test.py +0 -0
  188. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/streaming.py +0 -0
  189. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/pages/tables.py +0 -0
  190. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/frontend/utils.py +0 -0
  191. /vectordb_bench-1.0.0/vectordb_bench/frontend/vdb_benchmark.py → /vectordb_bench-1.0.2/vectordb_bench/frontend/vdbbench.py +0 -0
  192. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/log_util.py +0 -0
  193. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/metric.py +0 -0
  194. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/models.py +0 -0
  195. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/ElasticCloud/result_20230727_standard_elasticcloud.json +0 -0
  196. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/ElasticCloud/result_20230808_standard_elasticcloud.json +0 -0
  197. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/ElasticCloud/result_20250318_standard_elasticcloud.json +0 -0
  198. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Milvus/result_20230727_standard_milvus.json +0 -0
  199. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Milvus/result_20230808_standard_milvus.json +0 -0
  200. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Milvus/result_20250509_standard_milvus.json +0 -0
  201. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/OpenSearch/result_20250224_standard_opensearch.json +0 -0
  202. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/PgVector/result_20230727_standard_pgvector.json +0 -0
  203. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/PgVector/result_20230808_standard_pgvector.json +0 -0
  204. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Pinecone/result_20230727_standard_pinecone.json +0 -0
  205. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Pinecone/result_20230808_standard_pinecone.json +0 -0
  206. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/Pinecone/result_20250124_standard_pinecone.json +0 -0
  207. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/QdrantCloud/result_20230727_standard_qdrantcloud.json +0 -0
  208. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/QdrantCloud/result_20230808_standard_qdrantcloud.json +0 -0
  209. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/QdrantCloud/result_20250602_standard_qdrantcloud.json +0 -0
  210. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/WeaviateCloud/result_20230727_standard_weaviatecloud.json +0 -0
  211. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json +0 -0
  212. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/ZillizCloud/result_20250613_standard_zillizcloud.json +0 -0
  213. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/dbPrices.json +0 -0
  214. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/getLeaderboardData.py +0 -0
  215. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench/results/leaderboard.json +0 -0
  216. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench.egg-info/dependency_links.txt +0 -0
  217. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench.egg-info/entry_points.txt +0 -0
  218. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/vectordb_bench.egg-info/requires.txt +0 -0
  219. {vectordb_bench-1.0.0 → vectordb_bench-1.0.2}/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.0
3
+ Version: 1.0.2
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
@@ -100,17 +100,17 @@ Dynamic: license-file
100
100
  [![version](https://img.shields.io/pypi/v/vectordb-bench.svg?color=blue)](https://pypi.org/project/vectordb-bench/)
101
101
  [![Downloads](https://pepy.tech/badge/vectordb-bench)](https://pepy.tech/project/vectordb-bench)
102
102
 
103
- ## What is VectorDBBench
104
- VectorDBBench(VDBBench) 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.
103
+ ## What is VDBBench
104
+ VDBBench 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, VDBBench 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.
105
105
 
106
106
  Understanding the importance of user experience, we provide an intuitive visual interface. This not only empowers users to initiate benchmarks at ease, but also to view comparative result reports, thereby reproducing benchmark results effortlessly.
107
107
  To add more relevance and practicality, we provide cost-effectiveness reports particularly for cloud services. This allows for a more realistic and applicable benchmarking process.
108
108
 
109
109
  Closely mimicking real-world production environments, we've set up diverse testing scenarios including insertion, searching, and filtered searching. To provide you with credible and reliable data, we've included public datasets from actual production scenarios, such as [SIFT](http://corpus-texmex.irisa.fr/), [GIST](http://corpus-texmex.irisa.fr/), [Cohere](https://huggingface.co/datasets/Cohere/wikipedia-22-12/tree/main/en), and a dataset generated by OpenAI from an opensource [raw dataset](https://huggingface.co/datasets/allenai/c4). It's fascinating to discover how a relatively unknown open-source database might excel in certain circumstances!
110
110
 
111
- Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
111
+ Prepare to delve into the world of VDBBench, and let it guide you in uncovering your perfect vector database match.
112
112
 
113
- VectorDBBench is sponsered by Zilliz,the leading opensource vectorDB company behind Milvus. Choose smarter with VectorDBBench- start your free test on [zilliz cloud](https://zilliz.com/) today!
113
+ VDBBench is sponsered 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
114
 
115
115
  **Leaderboard:** https://zilliz.com/benchmark
116
116
  ## Quick Start
@@ -517,7 +517,7 @@ make format
517
517
  ## How does it work?
518
518
  ### Result Page
519
519
  ![image](https://github.com/zilliztech/VectorDBBench/assets/105927039/8a981327-c1c6-4796-8a85-c86154cb5472)
520
- This is the main page of VectorDBBench, which displays the standard benchmark results we provide. Additionally, results of all tests performed by users themselves will also be shown here. We also offer the ability to select and compare results from multiple tests simultaneously.
520
+ This is the main page of VDBBench, which displays the standard benchmark results we provide. Additionally, results of all tests performed by users themselves will also be shown here. We also offer the ability to select and compare results from multiple tests simultaneously.
521
521
 
522
522
  The standard benchmark results displayed here include all 15 cases that we currently support for 6 of our clients (Milvus, Zilliz Cloud, Elastic Search, Qdrant Cloud, Weaviate Cloud and PgVector). However, as some systems may not be able to complete all the tests successfully due to issues like Out of Memory (OOM) or timeouts, not all clients are included in every case.
523
523
 
@@ -551,7 +551,7 @@ We've developed lots of comprehensive benchmark cases to test vector databases'
551
551
  - **Int-Filter Cases:** Evaluates search performance with int-based filter expression (e.g. "id >= 2,000").
552
552
  - **Label-Filter Cases:** Evaluates search performance with label-based filter expressions (e.g., "color == 'red'"). The test includes randomly generated labels to simulate real-world filtering scenarios.
553
553
  #### Streaming Cases
554
- - **Insertion-Under-Load Case:** Evaluates search performance while maintaining a constant insertion workload. VectorDBBench applies a steady stream of insert requests at a fixed rate to simulate real-world scenarios where search operations must perform reliably under continuous data ingestion.
554
+ - **Insertion-Under-Load Case:** Evaluates search performance while maintaining a constant insertion workload. VDBBench applies a steady stream of insert requests at a fixed rate to simulate real-world scenarios where search operations must perform reliably under continuous data ingestion.
555
555
 
556
556
  Each case provides an in-depth examination of a vector database's abilities, providing you a comprehensive view of the database's performance.
557
557
 
@@ -577,15 +577,15 @@ We have strict requirements for the data set format, please follow them.
577
577
 
578
578
  - `Train File Count` - If the vector file is too large, you can consider splitting it into multiple files. The naming format for the split files should be `train-[index]-of-[file_count].parquet`. For example, `train-01-of-10.parquet` represents the second file (0-indexed) among 10 split files.
579
579
 
580
- - `Use Shuffled Data` - If you check this option, the vector data files need to be modified. VectorDBBench will load the data labeled with `shuffle`. For example, use `shuffle_train.parquet` instead of `train.parquet` and `shuffle_train-04-of-10.parquet` instead of `train-04-of-10.parquet`. The `id` column in the shuffled data can be in any order.
580
+ - `Use Shuffled Data` - If you check this option, the vector data files need to be modified. VDBBench will load the data labeled with `shuffle`. For example, use `shuffle_train.parquet` instead of `train.parquet` and `shuffle_train-04-of-10.parquet` instead of `train-04-of-10.parquet`. The `id` column in the shuffled data can be in any order.
581
581
 
582
582
 
583
583
  ## Goals
584
584
  Our goals of this benchmark are:
585
585
  ### Reproducibility & Usability
586
- One of the primary goals of VectorDBBench is to enable users to reproduce benchmark results swiftly and easily, or to test their customized scenarios. We believe that lowering the barriers to entry for conducting these tests will enhance the community's understanding and improvement of vector databases. We aim to create an environment where any user, regardless of their technical expertise, can quickly set up and run benchmarks, and view and analyze results in an intuitive manner.
586
+ One of the primary goals of VDBBench is to enable users to reproduce benchmark results swiftly and easily, or to test their customized scenarios. We believe that lowering the barriers to entry for conducting these tests will enhance the community's understanding and improvement of vector databases. We aim to create an environment where any user, regardless of their technical expertise, can quickly set up and run benchmarks, and view and analyze results in an intuitive manner.
587
587
  ### Representability & Realism
588
- VectorDBBench aims to provide a more comprehensive, multi-faceted testing environment that accurately represents the complexity of vector databases. By moving beyond a simple speed test for algorithms, we hope to contribute to a better understanding of vector databases in real-world scenarios. By incorporating as many complex scenarios as possible, including a variety of test cases and datasets, we aim to reflect realistic conditions and offer tangible significance to our community. Our goal is to deliver benchmarking results that can drive tangible improvements in the development and usage of vector databases.
588
+ VDBBench aims to provide a more comprehensive, multi-faceted testing environment that accurately represents the complexity of vector databases. By moving beyond a simple speed test for algorithms, we hope to contribute to a better understanding of vector databases in real-world scenarios. By incorporating as many complex scenarios as possible, including a variety of test cases and datasets, we aim to reflect realistic conditions and offer tangible significance to our community. Our goal is to deliver benchmarking results that can drive tangible improvements in the development and usage of vector databases.
589
589
 
590
590
  ## Contribution
591
591
  ### General Guidelines
@@ -3,17 +3,17 @@
3
3
  [![version](https://img.shields.io/pypi/v/vectordb-bench.svg?color=blue)](https://pypi.org/project/vectordb-bench/)
4
4
  [![Downloads](https://pepy.tech/badge/vectordb-bench)](https://pepy.tech/project/vectordb-bench)
5
5
 
6
- ## What is VectorDBBench
7
- VectorDBBench(VDBBench) 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.
6
+ ## What is VDBBench
7
+ VDBBench 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, VDBBench 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.
8
8
 
9
9
  Understanding the importance of user experience, we provide an intuitive visual interface. This not only empowers users to initiate benchmarks at ease, but also to view comparative result reports, thereby reproducing benchmark results effortlessly.
10
10
  To add more relevance and practicality, we provide cost-effectiveness reports particularly for cloud services. This allows for a more realistic and applicable benchmarking process.
11
11
 
12
12
  Closely mimicking real-world production environments, we've set up diverse testing scenarios including insertion, searching, and filtered searching. To provide you with credible and reliable data, we've included public datasets from actual production scenarios, such as [SIFT](http://corpus-texmex.irisa.fr/), [GIST](http://corpus-texmex.irisa.fr/), [Cohere](https://huggingface.co/datasets/Cohere/wikipedia-22-12/tree/main/en), and a dataset generated by OpenAI from an opensource [raw dataset](https://huggingface.co/datasets/allenai/c4). It's fascinating to discover how a relatively unknown open-source database might excel in certain circumstances!
13
13
 
14
- Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
14
+ Prepare to delve into the world of VDBBench, and let it guide you in uncovering your perfect vector database match.
15
15
 
16
- VectorDBBench is sponsered by Zilliz,the leading opensource vectorDB company behind Milvus. Choose smarter with VectorDBBench- start your free test on [zilliz cloud](https://zilliz.com/) today!
16
+ VDBBench is sponsered 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
@@ -420,7 +420,7 @@ make format
420
420
  ## How does it work?
421
421
  ### Result Page
422
422
  ![image](https://github.com/zilliztech/VectorDBBench/assets/105927039/8a981327-c1c6-4796-8a85-c86154cb5472)
423
- This is the main page of VectorDBBench, which displays the standard benchmark results we provide. Additionally, results of all tests performed by users themselves will also be shown here. We also offer the ability to select and compare results from multiple tests simultaneously.
423
+ This is the main page of VDBBench, which displays the standard benchmark results we provide. Additionally, results of all tests performed by users themselves will also be shown here. We also offer the ability to select and compare results from multiple tests simultaneously.
424
424
 
425
425
  The standard benchmark results displayed here include all 15 cases that we currently support for 6 of our clients (Milvus, Zilliz Cloud, Elastic Search, Qdrant Cloud, Weaviate Cloud and PgVector). However, as some systems may not be able to complete all the tests successfully due to issues like Out of Memory (OOM) or timeouts, not all clients are included in every case.
426
426
 
@@ -454,7 +454,7 @@ We've developed lots of comprehensive benchmark cases to test vector databases'
454
454
  - **Int-Filter Cases:** Evaluates search performance with int-based filter expression (e.g. "id >= 2,000").
455
455
  - **Label-Filter Cases:** Evaluates search performance with label-based filter expressions (e.g., "color == 'red'"). The test includes randomly generated labels to simulate real-world filtering scenarios.
456
456
  #### Streaming Cases
457
- - **Insertion-Under-Load Case:** Evaluates search performance while maintaining a constant insertion workload. VectorDBBench applies a steady stream of insert requests at a fixed rate to simulate real-world scenarios where search operations must perform reliably under continuous data ingestion.
457
+ - **Insertion-Under-Load Case:** Evaluates search performance while maintaining a constant insertion workload. VDBBench applies a steady stream of insert requests at a fixed rate to simulate real-world scenarios where search operations must perform reliably under continuous data ingestion.
458
458
 
459
459
  Each case provides an in-depth examination of a vector database's abilities, providing you a comprehensive view of the database's performance.
460
460
 
@@ -480,15 +480,15 @@ We have strict requirements for the data set format, please follow them.
480
480
 
481
481
  - `Train File Count` - If the vector file is too large, you can consider splitting it into multiple files. The naming format for the split files should be `train-[index]-of-[file_count].parquet`. For example, `train-01-of-10.parquet` represents the second file (0-indexed) among 10 split files.
482
482
 
483
- - `Use Shuffled Data` - If you check this option, the vector data files need to be modified. VectorDBBench will load the data labeled with `shuffle`. For example, use `shuffle_train.parquet` instead of `train.parquet` and `shuffle_train-04-of-10.parquet` instead of `train-04-of-10.parquet`. The `id` column in the shuffled data can be in any order.
483
+ - `Use Shuffled Data` - If you check this option, the vector data files need to be modified. VDBBench will load the data labeled with `shuffle`. For example, use `shuffle_train.parquet` instead of `train.parquet` and `shuffle_train-04-of-10.parquet` instead of `train-04-of-10.parquet`. The `id` column in the shuffled data can be in any order.
484
484
 
485
485
 
486
486
  ## Goals
487
487
  Our goals of this benchmark are:
488
488
  ### Reproducibility & Usability
489
- One of the primary goals of VectorDBBench is to enable users to reproduce benchmark results swiftly and easily, or to test their customized scenarios. We believe that lowering the barriers to entry for conducting these tests will enhance the community's understanding and improvement of vector databases. We aim to create an environment where any user, regardless of their technical expertise, can quickly set up and run benchmarks, and view and analyze results in an intuitive manner.
489
+ One of the primary goals of VDBBench is to enable users to reproduce benchmark results swiftly and easily, or to test their customized scenarios. We believe that lowering the barriers to entry for conducting these tests will enhance the community's understanding and improvement of vector databases. We aim to create an environment where any user, regardless of their technical expertise, can quickly set up and run benchmarks, and view and analyze results in an intuitive manner.
490
490
  ### Representability & Realism
491
- VectorDBBench aims to provide a more comprehensive, multi-faceted testing environment that accurately represents the complexity of vector databases. By moving beyond a simple speed test for algorithms, we hope to contribute to a better understanding of vector databases in real-world scenarios. By incorporating as many complex scenarios as possible, including a variety of test cases and datasets, we aim to reflect realistic conditions and offer tangible significance to our community. Our goal is to deliver benchmarking results that can drive tangible improvements in the development and usage of vector databases.
491
+ VDBBench aims to provide a more comprehensive, multi-faceted testing environment that accurately represents the complexity of vector databases. By moving beyond a simple speed test for algorithms, we hope to contribute to a better understanding of vector databases in real-world scenarios. By incorporating as many complex scenarios as possible, including a variety of test cases and datasets, we aim to reflect realistic conditions and offer tangible significance to our community. Our goal is to deliver benchmarking results that can drive tangible improvements in the development and usage of vector databases.
492
492
 
493
493
  ## Contribution
494
494
  ### General Guidelines
@@ -220,3 +220,9 @@ builtins-ignorelist = [
220
220
  # "dict", # TODO
221
221
  # "filter",
222
222
  ]
223
+
224
+ [tool.ruff.lint.per-file-ignores]
225
+ "vectordb_bench/backend/clients/*" = ["PLC0415"]
226
+ "vectordb_bench/cli/batch_cli.py" = ["PLC0415"]
227
+ "vectordb_bench/backend/data_source.py" = ["PLC0415"]
228
+
@@ -17,7 +17,7 @@ def run_streamlit():
17
17
  cmd = [
18
18
  "streamlit",
19
19
  "run",
20
- f"{pathlib.Path(__file__).parent}/frontend/vdb_benchmark.py",
20
+ f"{pathlib.Path(__file__).parent}/frontend/vdbbench.py",
21
21
  "--logger.level",
22
22
  "info",
23
23
  "--theme.base",
@@ -132,7 +132,7 @@ class VectorDB(ABC):
132
132
  """
133
133
 
134
134
  "The filtering types supported by the VectorDB Client, default only non-filter"
135
- supported_filter_types: list[FilterOp] = [FilterOp.NonFilter, FilterOp.NumGE]
135
+ supported_filter_types: list[FilterOp] = [FilterOp.NonFilter]
136
136
 
137
137
  @classmethod
138
138
  def filter_supported(cls, filters: Filter) -> bool:
@@ -75,6 +75,20 @@ class AWSOpenSearchIndexConfig(BaseModel, DBCaseConfig):
75
75
  and self.quantization_type == obj.quantization_type
76
76
  )
77
77
 
78
+ def __hash__(self) -> int:
79
+ return hash(
80
+ (
81
+ self.engine,
82
+ self.M,
83
+ self.efConstruction,
84
+ self.number_of_shards,
85
+ self.number_of_replicas,
86
+ self.number_of_segments,
87
+ self.use_routing,
88
+ self.quantization_type,
89
+ )
90
+ )
91
+
78
92
  def parse_metric(self) -> str:
79
93
  log.info(f"User specified metric_type: {self.metric_type_name}")
80
94
  self.metric_type = MetricType[self.metric_type_name.upper()]
@@ -48,6 +48,18 @@ class ElasticCloudIndexConfig(BaseModel, DBCaseConfig):
48
48
  and self.M == obj.M
49
49
  )
50
50
 
51
+ def __hash__(self) -> int:
52
+ return hash(
53
+ (
54
+ self.index,
55
+ self.number_of_shards,
56
+ self.number_of_replicas,
57
+ self.use_routing,
58
+ self.efConstruction,
59
+ self.M,
60
+ )
61
+ )
62
+
51
63
  def parse_metric(self) -> str:
52
64
  if self.metric_type == MetricType.L2:
53
65
  return "l2_norm"
@@ -29,7 +29,7 @@ class Milvus(VectorDB):
29
29
  dim: int,
30
30
  db_config: dict,
31
31
  db_case_config: MilvusIndexConfig,
32
- collection_name: str = "VectorDBBenchCollection",
32
+ collection_name: str = "VDBBench",
33
33
  drop_old: bool = False,
34
34
  name: str = "Milvus",
35
35
  with_scalar_labels: bool = False,
@@ -88,7 +88,7 @@ class Milvus(VectorDB):
88
88
  name=self.collection_name,
89
89
  schema=CollectionSchema(fields),
90
90
  consistency_level="Session",
91
- num_shards=self.db_config.get("num_shards"),
91
+ num_shards=self.db_config.get("num_shards", 1),
92
92
  )
93
93
 
94
94
  self.create_index()
@@ -63,6 +63,20 @@ class QdrantIndexConfig(BaseModel, DBCaseConfig):
63
63
  and self.default_segment_number == obj.default_segment_number
64
64
  )
65
65
 
66
+ def __hash__(self) -> int:
67
+ return hash(
68
+ (
69
+ self.m,
70
+ self.payload_m,
71
+ self.create_payload_int_index,
72
+ self.create_payload_keyword_index,
73
+ self.is_tenant,
74
+ self.use_scalar_quant,
75
+ self.sq_quantile,
76
+ self.default_segment_number,
77
+ )
78
+ )
79
+
66
80
  def parse_metric(self) -> str:
67
81
  if self.metric_type == MetricType.L2:
68
82
  return "Euclid"
@@ -10,7 +10,7 @@ class ZillizCloud(Milvus):
10
10
  dim: int,
11
11
  db_config: dict,
12
12
  db_case_config: DBCaseConfig,
13
- collection_name: str = "ZillizCloudVectorDBBench",
13
+ collection_name: str = "ZillizCloudVDBBench",
14
14
  drop_old: bool = False,
15
15
  name: str = "ZillizCloud",
16
16
  **kwargs,
@@ -242,6 +242,9 @@ class DatasetManager(BaseModel):
242
242
  return self.data.name == obj.data.name and self.data.label == obj.data.label
243
243
  return False
244
244
 
245
+ def __hash__(self) -> int:
246
+ return hash((self.data.name, self.data.label))
247
+
245
248
  def set_reader(self, reader: DatasetReader):
246
249
  self.reader = reader
247
250
 
@@ -59,6 +59,17 @@ class CaseRunner(BaseModel):
59
59
  )
60
60
  return False
61
61
 
62
+ def __hash__(self) -> int:
63
+ """Hash method to maintain consistency with __eq__ method."""
64
+ return hash(
65
+ (
66
+ self.ca.label,
67
+ self.config.db,
68
+ self.config.db_case_config,
69
+ self.ca.dataset,
70
+ )
71
+ )
72
+
62
73
  def display(self) -> dict:
63
74
  c_dict = self.ca.dict(
64
75
  include={
@@ -4,7 +4,7 @@ from vectordb_bench.frontend.config.styles import HEADER_ICON
4
4
  def drawHeaderIcon(st):
5
5
  st.markdown(
6
6
  f"""
7
- <a href="/vdb_benchmark" target="_self">
7
+ <a href="/vdbbench" target="_self">
8
8
  <div class="headerIconContainer"></div>
9
9
  </a>
10
10
 
@@ -16,8 +16,10 @@ def drawHeaderIcon(st):
16
16
  width: 100%;
17
17
  border-bottom: 2px solid #E8EAEE;
18
18
  background-image: url({HEADER_ICON});
19
+ background-size: contain;
20
+ background-position: left top;
19
21
  background-repeat: no-repeat;
20
- cursor: pointer;
22
+ cursor: pointer;
21
23
  }}
22
24
  </style>
23
25
  """,
@@ -1,16 +1,16 @@
1
1
  def explainPrams(st):
2
2
  st.markdown("## descriptions")
3
- st.markdown("### 1.Overview")
3
+ st.markdown("### 1. Overview")
4
4
  st.markdown(
5
5
  """
6
- - **VectorDBBench** is an open-source benchmarking tool designed specifically for vector databases. Its main features include:
6
+ - **VectorDBBench(VDBBench)** is an open-source benchmarking tool designed specifically for vector databases. Its main features include:
7
7
  - (1) An easy-to-use **web UI** for configuration of tests and visual analysis of results.
8
8
  - (2) A comprehensive set of **standards for testing and metric collection**.
9
9
  - (3) Support for **various scenarios**, including additional support for **Filter** and **Streaming** based on standard tests.
10
- - VectorDBBench embraces open-source and welcome contributions of code and test result submissions. The testing process and extended scenarios of VectorDBBench, as well as the intention behind our design will be introduced as follows.
10
+ - VDBBench embraces open-source and welcome contributions of code and test result submissions. The testing process and extended scenarios of VDBBench, as well as the intention behind our design will be introduced as follows.
11
11
  """
12
12
  )
13
- st.markdown("### 2.Dataset")
13
+ st.markdown("### 2. Dataset")
14
14
  st.markdown(
15
15
  """
16
16
  - We provide two embedding datasets:
@@ -19,7 +19,7 @@ def explainPrams(st):
19
19
  - (3)*OpenAI 1536dim*, generated using the **OpenAI** model based on the [C4 corpus](https://huggingface.co/datasets/legacy-datasets/c4).
20
20
  """
21
21
  )
22
- st.markdown("### 3.Standard Test")
22
+ st.markdown("### 3. Standard Test")
23
23
  st.markdown(
24
24
  """
25
25
  The test is actually divided into 3 sub-processes
@@ -42,19 +42,19 @@ The test is actually divided into 3 sub-processes
42
42
  """,
43
43
  unsafe_allow_html=True,
44
44
  )
45
- st.markdown("### 4.Filter Search Test")
45
+ st.markdown("### 4. Filter Search Test")
46
46
  st.markdown(
47
47
  """
48
48
  - Compared to the Standard Test, the **Filter Search** introduces additional scalar constraints (e.g. **color == red**) during the Search Test. Different **filter_ratios** present varying levels of challenge to the VectorDB's search performance.
49
49
  - We provide an additional **string column** containing 10 labels with different distribution ratios (50%,20%,10%,5%,2%,1%,0.5%,0.2%,0.1%). For each label, we conduct both a **Serial Test** and a **Concurrency Test** to observe the VectorDB's performance in terms of **QPS, latency, and recall** under different filtering conditions.
50
50
  """
51
51
  )
52
- st.markdown("### 5.Streaming Search Test")
52
+ st.markdown("### 5. Streaming Search Test")
53
53
  st.markdown(
54
54
  """
55
55
  Different from Standard's load and search separation, Streaming Search Test primarily focuses on **search performance during the insertion process**.
56
56
  Different **base dataset sizes** and varying **insertion rates** set distinct challenges to the VectorDB's search capabilities.
57
- VectorDBBench will send insert requests at a **fixed rate**, maintaining consistent insertion pressure. The search test consists of three steps as follows:
57
+ VDBBench will send insert requests at a **fixed rate**, maintaining consistent insertion pressure. The search test consists of three steps as follows:
58
58
  - 1.**Streaming Search**
59
59
  - Users can configure **multiple search stages**. When the inserted data volume reaches a specified stage, a **Serial Test** and a **Concurrent Test** will be conducted, recording qps, latency, and recall performance.
60
60
  - 2.**Streaming Final Search**
@@ -21,7 +21,7 @@ def get_image_as_base64(image_path):
21
21
 
22
22
 
23
23
  def welcomePrams(st):
24
- st.title("Welcome to VectorDB Benchmark!")
24
+ st.title("Welcome to VDBBench!")
25
25
  options = [
26
26
  {
27
27
  "title": "Standard Test Results",
@@ -520,7 +520,7 @@ CaseConfigParamInput_M = CaseConfigInput(
520
520
  inputConfig={
521
521
  "min": 4,
522
522
  "max": 64,
523
- "value": 30,
523
+ "value": 16,
524
524
  },
525
525
  isDisplayed=lambda config: config.get(CaseConfigParamType.IndexType, None)
526
526
  in [
@@ -550,7 +550,7 @@ CaseConfigParamInput_EFConstruction_Milvus = CaseConfigInput(
550
550
  inputConfig={
551
551
  "min": 8,
552
552
  "max": 512,
553
- "value": 360,
553
+ "value": 256,
554
554
  },
555
555
  isDisplayed=lambda config: config[CaseConfigParamType.IndexType]
556
556
  in [
@@ -1441,7 +1441,7 @@ CaseConfigParamInput_Milvus_use_partition_key = CaseConfigInput(
1441
1441
  label=CaseConfigParamType.use_partition_key,
1442
1442
  inputType=InputType.Option,
1443
1443
  inputHelp="whether to use partition_key for label-filter cases. only works in label-filter cases",
1444
- inputConfig={"options": [True, False]},
1444
+ inputConfig={"options": [False, True]},
1445
1445
  )
1446
1446
 
1447
1447
 
@@ -33,8 +33,8 @@ MAX_AUTO_REFRESH_COUNT = 999999
33
33
  MAX_AUTO_REFRESH_INTERVAL = 5000 # 5s
34
34
 
35
35
  PAGE_TITLE = "VectorDB Benchmark"
36
- FAVICON = "https://assets.zilliz.com/favicon_f7f922fe27.png"
37
- HEADER_ICON = "https://assets.zilliz.com/vdb_benchmark_db790b5387.png"
36
+ FAVICON = "https://assets.zilliz.com/VDB_Bench_icon_d3276bedc4.png"
37
+ HEADER_ICON = "https://assets.zilliz.com/VDB_Bench_text_icon_6c5f52a458.png"
38
38
 
39
39
  # RedisCloud icon: https://assets.zilliz.com/Redis_Cloud_74b8bfef39.png
40
40
  # Elasticsearch icon: https://assets.zilliz.com/elasticsearch_beffeadc29.png
@@ -30,10 +30,12 @@ def main():
30
30
 
31
31
  st.title("Vector Database Benchmark")
32
32
  st.caption(
33
- "Except for zillizcloud-v2024.1, which was tested in _January 2024_, all other tests were completed before _August 2023_."
33
+ "Choose your desired test results to display from the sidebar. "
34
+ "For your reference, we've included two standard benchmarks tested by our team. "
35
+ "Note that `standard_2025` was tested in 2025; the others in 2023. "
36
+ "Unless explicitly labeled as distributed multi-node, test with single-node mode by default."
34
37
  )
35
- st.caption("All tested milvus are in _standalone_ mode.")
36
-
38
+ st.caption("We welcome community contributions for better results, parameter configurations, and optimizations.")
37
39
  # results selector and filter
38
40
  resultSelectorContainer = st.sidebar.container()
39
41
  shownData, failedTasks, showCaseNames = getshownData(resultSelectorContainer, allResults)
@@ -95,7 +95,8 @@ class BenchMarkRunner:
95
95
 
96
96
  return self._run_async(send_conn)
97
97
 
98
- def get_results(self, result_dir: pathlib.Path | None = None) -> list[TestResult]:
98
+ @staticmethod
99
+ def get_results(result_dir: pathlib.Path | None = None) -> list[TestResult]:
99
100
  """results of all runs, each TestResult represents one run."""
100
101
  target_dir = result_dir if result_dir else config.RESULTS_LOCAL_DIR
101
102
  return ResultCollector.collect(target_dir)
@@ -0,0 +1,59 @@
1
+ import json
2
+ import logging
3
+
4
+
5
+ from vectordb_bench.backend.cases import CaseType
6
+ from vectordb_bench.backend.clients import DB
7
+ from vectordb_bench.models import CaseResult
8
+ from vectordb_bench import config
9
+
10
+ logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")
11
+
12
+ from vectordb_bench.interface import BenchMarkRunner
13
+
14
+
15
+ def get_standard_2025_results() -> list[CaseResult]:
16
+ all_results = BenchMarkRunner.get_results()
17
+ standard_2025_case_results = []
18
+ for result in all_results:
19
+ if result.task_label == "standard_2025":
20
+ standard_2025_case_results += result.results
21
+ return standard_2025_case_results
22
+
23
+
24
+ def save_to_json(data: list[dict], file_name: str):
25
+ with open(file_name, "w") as f:
26
+ json.dump(data, f, indent=4)
27
+
28
+
29
+ def main():
30
+ standard_2025_case_results = get_standard_2025_results()
31
+ data = []
32
+ for case_result in standard_2025_case_results:
33
+ db = case_result.task_config.db
34
+ label = case_result.task_config.db_config.db_label
35
+ metrics = case_result.metrics
36
+ qps = metrics.qps
37
+ latency = metrics.serial_latency_p99
38
+ recall = metrics.recall
39
+ case = case_result.task_config.case_config.case
40
+ filter_ratio = case.filters.filter_rate
41
+ dataset = case.dataset.data.full_name
42
+ if case.case_id != CaseType.StreamingPerformanceCase:
43
+ data.append(
44
+ {
45
+ "dataset": dataset,
46
+ "db": db.value,
47
+ "label": label,
48
+ "db_name": f"{db.value}-{label}",
49
+ "qps": round(qps, 4),
50
+ "latency": round(latency, 4),
51
+ "recall": round(recall, 4),
52
+ "filter_ratio": round(filter_ratio, 2),
53
+ }
54
+ )
55
+ save_to_json(data, config.RESULTS_LOCAL_DIR / "leaderboard_v2.json")
56
+
57
+
58
+ if __name__ == "__main__":
59
+ main()