vectordb-bench 0.0.19__tar.gz → 0.0.21__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 (173) hide show
  1. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.github/workflows/pull_request.yml +4 -0
  2. vectordb_bench-0.0.21/Makefile +10 -0
  3. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/PKG-INFO +22 -15
  4. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/README.md +14 -13
  5. vectordb_bench-0.0.21/pyproject.toml +210 -0
  6. vectordb_bench-0.0.21/vectordb_bench/__init__.py +92 -0
  7. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/__main__.py +4 -3
  8. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/assembler.py +12 -13
  9. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/cases.py +55 -45
  10. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/__init__.py +85 -14
  11. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aliyun_elasticsearch/aliyun_elasticsearch.py +1 -2
  12. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aliyun_elasticsearch/config.py +3 -4
  13. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aliyun_opensearch/aliyun_opensearch.py +112 -77
  14. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aliyun_opensearch/config.py +6 -7
  15. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/alloydb/alloydb.py +59 -84
  16. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/alloydb/cli.py +51 -34
  17. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/alloydb/config.py +30 -30
  18. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/api.py +13 -24
  19. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +50 -54
  20. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aws_opensearch/cli.py +4 -7
  21. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/aws_opensearch/config.py +13 -9
  22. vectordb_bench-0.0.21/vectordb_bench/backend/clients/aws_opensearch/run.py +166 -0
  23. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/chroma/chroma.py +39 -40
  24. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/chroma/config.py +4 -2
  25. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/elastic_cloud/config.py +5 -5
  26. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +24 -26
  27. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/memorydb/cli.py +8 -8
  28. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/memorydb/config.py +2 -2
  29. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/memorydb/memorydb.py +67 -58
  30. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/milvus/cli.py +41 -83
  31. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/milvus/config.py +18 -8
  32. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/milvus/milvus.py +19 -39
  33. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgdiskann/cli.py +29 -22
  34. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgdiskann/config.py +29 -26
  35. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgdiskann/pgdiskann.py +56 -77
  36. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvecto_rs/cli.py +9 -11
  37. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvecto_rs/config.py +8 -14
  38. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvecto_rs/pgvecto_rs.py +34 -43
  39. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvector/cli.py +40 -31
  40. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvector/config.py +63 -73
  41. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvector/pgvector.py +98 -104
  42. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvectorscale/cli.py +38 -24
  43. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvectorscale/config.py +14 -15
  44. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pgvectorscale/pgvectorscale.py +39 -49
  45. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pinecone/config.py +1 -0
  46. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/pinecone/pinecone.py +15 -25
  47. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/qdrant_cloud/config.py +11 -10
  48. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +41 -35
  49. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/redis/cli.py +6 -12
  50. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/redis/config.py +7 -5
  51. vectordb_bench-0.0.21/vectordb_bench/backend/clients/redis/redis.py +191 -0
  52. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/test/cli.py +2 -3
  53. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/test/config.py +2 -2
  54. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/test/test.py +5 -9
  55. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/weaviate_cloud/cli.py +3 -4
  56. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/weaviate_cloud/config.py +2 -2
  57. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/weaviate_cloud/weaviate_cloud.py +37 -26
  58. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/zilliz_cloud/cli.py +14 -11
  59. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/zilliz_cloud/config.py +2 -4
  60. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/data_source.py +18 -14
  61. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/dataset.py +47 -27
  62. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/result_collector.py +2 -3
  63. vectordb_bench-0.0.21/vectordb_bench/backend/runner/__init__.py +10 -0
  64. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/runner/mp_runner.py +56 -23
  65. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/runner/rate_runner.py +30 -19
  66. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/runner/read_write_runner.py +46 -22
  67. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/runner/serial_runner.py +81 -46
  68. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/runner/util.py +4 -3
  69. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/task_runner.py +92 -92
  70. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/utils.py +17 -10
  71. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/base.py +0 -1
  72. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/cli/cli.py +65 -60
  73. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/cli/vectordbbench.py +6 -7
  74. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/charts.py +8 -19
  75. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/data.py +4 -16
  76. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/filters.py +8 -16
  77. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/nav.py +4 -4
  78. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/priceTable.py +1 -3
  79. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/stPageConfig.py +2 -1
  80. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/concurrent/charts.py +12 -12
  81. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/custom/displayCustomCase.py +17 -11
  82. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/custom/displaypPrams.py +4 -2
  83. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/custom/getCustomConfig.py +1 -2
  84. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/custom/initStyle.py +1 -1
  85. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/get_results/saveAsImage.py +2 -0
  86. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/caseSelector.py +3 -9
  87. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/dbConfigSetting.py +1 -4
  88. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/dbSelector.py +1 -1
  89. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/generateTasks.py +8 -8
  90. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/submitTask.py +14 -18
  91. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/tables/data.py +3 -6
  92. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/config/dbCaseConfigs.py +51 -84
  93. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/pages/concurrent.py +3 -5
  94. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/pages/custom.py +30 -9
  95. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/pages/quries_per_dollar.py +3 -3
  96. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/pages/run_test.py +3 -7
  97. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/utils.py +1 -1
  98. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/vdb_benchmark.py +4 -6
  99. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/interface.py +45 -24
  100. vectordb_bench-0.0.21/vectordb_bench/log_util.py +97 -0
  101. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/metric.py +10 -11
  102. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/models.py +26 -43
  103. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/PKG-INFO +22 -15
  104. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/SOURCES.txt +0 -1
  105. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/requires.txt +7 -0
  106. vectordb_bench-0.0.19/.ruff.toml +0 -49
  107. vectordb_bench-0.0.19/Makefile +0 -2
  108. vectordb_bench-0.0.19/pyproject.toml +0 -92
  109. vectordb_bench-0.0.19/vectordb_bench/__init__.py +0 -67
  110. vectordb_bench-0.0.19/vectordb_bench/backend/clients/aws_opensearch/run.py +0 -156
  111. vectordb_bench-0.0.19/vectordb_bench/backend/clients/redis/redis.py +0 -158
  112. vectordb_bench-0.0.19/vectordb_bench/backend/runner/__init__.py +0 -12
  113. vectordb_bench-0.0.19/vectordb_bench/log_util.py +0 -102
  114. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.devcontainer/Dockerfile +0 -0
  115. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.devcontainer/devcontainer.json +0 -0
  116. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.env.example +0 -0
  117. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.github/workflows/publish_package_on_release.yml +0 -0
  118. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/.gitignore +0 -0
  119. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/Dockerfile +0 -0
  120. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/LICENSE +0 -0
  121. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/OWNERS +0 -0
  122. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/fig/custom_case_run_test.png +0 -0
  123. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/fig/custom_dataset.png +0 -0
  124. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/install/requirements_py3.11.txt +0 -0
  125. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/install.py +0 -0
  126. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/setup.cfg +0 -0
  127. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/conftest.py +0 -0
  128. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/pytest.ini +0 -0
  129. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_bench_runner.py +0 -0
  130. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_chroma.py +0 -0
  131. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_data_source.py +0 -0
  132. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_dataset.py +0 -0
  133. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_elasticsearch_cloud.py +0 -0
  134. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_models.py +0 -0
  135. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_rate_runner.py +0 -0
  136. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_redis.py +0 -0
  137. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/test_utils.py +0 -0
  138. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/tests/ut_cases.py +0 -0
  139. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/__init__.py +0 -0
  140. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py +1 -1
  141. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/cli/__init__.py +0 -0
  142. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/config-files/sample_config.yml +0 -0
  143. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/custom/custom_case.json +0 -0
  144. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/expanderStyle.py +0 -0
  145. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/footer.py +0 -0
  146. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/check_results/headerIcon.py +0 -0
  147. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/autoRefresh.py +0 -0
  148. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/hideSidebar.py +0 -0
  149. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/components/run_test/initStyle.py +0 -0
  150. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/config/dbPrices.py +0 -0
  151. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/config/styles.py +0 -0
  152. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/frontend/pages/tables.py +0 -0
  153. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/ElasticCloud/result_20230727_standard_elasticcloud.json +0 -0
  154. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/ElasticCloud/result_20230808_standard_elasticcloud.json +0 -0
  155. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/Milvus/result_20230727_standard_milvus.json +0 -0
  156. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/Milvus/result_20230808_standard_milvus.json +0 -0
  157. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/PgVector/result_20230727_standard_pgvector.json +0 -0
  158. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/PgVector/result_20230808_standard_pgvector.json +0 -0
  159. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/Pinecone/result_20230727_standard_pinecone.json +0 -0
  160. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/Pinecone/result_20230808_standard_pinecone.json +0 -0
  161. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/QdrantCloud/result_20230727_standard_qdrantcloud.json +0 -0
  162. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/QdrantCloud/result_20230808_standard_qdrantcloud.json +0 -0
  163. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/WeaviateCloud/result_20230727_standard_weaviatecloud.json +0 -0
  164. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json +0 -0
  165. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/ZillizCloud/result_20230727_standard_zillizcloud.json +0 -0
  166. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/ZillizCloud/result_20230808_standard_zillizcloud.json +0 -0
  167. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/ZillizCloud/result_20240105_standard_202401_zillizcloud.json +0 -0
  168. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/dbPrices.json +0 -0
  169. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/getLeaderboardData.py +0 -0
  170. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench/results/leaderboard.json +0 -0
  171. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/dependency_links.txt +0 -0
  172. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/entry_points.txt +0 -0
  173. {vectordb_bench-0.0.19 → vectordb_bench-0.0.21}/vectordb_bench.egg-info/top_level.txt +0 -0
@@ -31,6 +31,10 @@ jobs:
31
31
  python -m pip install --upgrade pip
32
32
  pip install -e ".[test]"
33
33
 
34
+ - name: Run coding checks
35
+ run: |
36
+ make lint
37
+
34
38
  - name: Test with pytest
35
39
  run: |
36
40
  make unittest
@@ -0,0 +1,10 @@
1
+ unittest:
2
+ PYTHONPATH=`pwd` python3 -m pytest tests/test_dataset.py::TestDataSet::test_download_small -svv
3
+
4
+ format:
5
+ PYTHONPATH=`pwd` python3 -m black vectordb_bench
6
+ PYTHONPATH=`pwd` python3 -m ruff check vectordb_bench --fix
7
+
8
+ lint:
9
+ PYTHONPATH=`pwd` python3 -m black vectordb_bench --check
10
+ PYTHONPATH=`pwd` python3 -m ruff check vectordb_bench
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: vectordb-bench
3
- Version: 0.0.19
3
+ Version: 0.0.21
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
@@ -26,6 +26,7 @@ Requires-Dist: pydantic<v2
26
26
  Requires-Dist: scikit-learn
27
27
  Requires-Dist: pymilvus
28
28
  Provides-Extra: test
29
+ Requires-Dist: black; extra == "test"
29
30
  Requires-Dist: ruff; extra == "test"
30
31
  Requires-Dist: pytest; extra == "test"
31
32
  Provides-Extra: all
@@ -45,6 +46,8 @@ Requires-Dist: pgvecto_rs[psycopg3]>=0.2.2; extra == "all"
45
46
  Requires-Dist: opensearch-dsl; extra == "all"
46
47
  Requires-Dist: opensearch-py; extra == "all"
47
48
  Requires-Dist: memorydb; extra == "all"
49
+ Requires-Dist: alibabacloud_ha3engine_vector; extra == "all"
50
+ Requires-Dist: alibabacloud_searchengine20211025; extra == "all"
48
51
  Provides-Extra: qdrant
49
52
  Requires-Dist: qdrant-client; extra == "qdrant"
50
53
  Provides-Extra: pinecone
@@ -67,12 +70,25 @@ Provides-Extra: chromadb
67
70
  Requires-Dist: chromadb; extra == "chromadb"
68
71
  Provides-Extra: opensearch
69
72
  Requires-Dist: opensearch-py; extra == "opensearch"
73
+ Provides-Extra: aliyun-opensearch
74
+ Requires-Dist: alibabacloud_ha3engine_vector; extra == "aliyun-opensearch"
75
+ Requires-Dist: alibabacloud_searchengine20211025; extra == "aliyun-opensearch"
70
76
 
71
77
  # VectorDBBench: A Benchmark Tool for VectorDB
72
78
 
73
79
  [![version](https://img.shields.io/pypi/v/vectordb-bench.svg?color=blue)](https://pypi.org/project/vectordb-bench/)
74
80
  [![Downloads](https://pepy.tech/badge/vectordb-bench)](https://pepy.tech/project/vectordb-bench)
75
81
 
82
+ ## What is VectorDBBench
83
+ 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.
84
+
85
+ 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.
86
+ 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.
87
+
88
+ 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!
89
+
90
+ Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
91
+
76
92
  **Leaderboard:** https://zilliz.com/benchmark
77
93
  ## Quick Start
78
94
  ### Prerequirement
@@ -111,6 +127,7 @@ All the database client supported
111
127
  | memorydb | `pip install vectordb-bench[memorydb]` |
112
128
  | chromadb | `pip install vectordb-bench[chromadb]` |
113
129
  | awsopensearch | `pip install vectordb-bench[opensearch]` |
130
+ | aliyun_opensearch | `pip install vectordb-bench[aliyun_opensearch]` |
114
131
 
115
132
  ### Run
116
133
 
@@ -249,16 +266,6 @@ milvushnsw:
249
266
  > - Options passed on the command line will override the configuration file*
250
267
  > - Parameter names use an _ not -
251
268
 
252
- ## What is VectorDBBench
253
- 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.
254
-
255
- 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.
256
- 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.
257
-
258
- 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!
259
-
260
- Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
261
-
262
269
  ## Leaderboard
263
270
  ### Introduction
264
271
  To facilitate the presentation of test results and provide a comprehensive performance analysis report, we offer a [leaderboard page](https://zilliz.com/benchmark). It allows us to choose from QPS, QP$, and latency metrics, and provides a comprehensive assessment of a system's performance based on the test results of various cases and a set of scoring mechanisms (to be introduced later). On this leaderboard, we can select the systems and models to be compared, and filter out cases we do not want to consider. Comprehensive scores are always ranked from best to worst, and the specific test results of each query will be presented in the list below.
@@ -309,13 +316,13 @@ After reopen the repository in container, run `python -m vectordb_bench` in the
309
316
 
310
317
  ### Check coding styles
311
318
  ```shell
312
- $ ruff check vectordb_bench
319
+ $ make lint
313
320
  ```
314
321
 
315
- Add `--fix` if you want to fix the coding styles automatically
322
+ To fix the coding styles automatically
316
323
 
317
324
  ```shell
318
- $ ruff check vectordb_bench --fix
325
+ $ make format
319
326
  ```
320
327
 
321
328
  ## How does it work?
@@ -3,6 +3,16 @@
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 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.
8
+
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
+ 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
+
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
+
14
+ Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
15
+
6
16
  **Leaderboard:** https://zilliz.com/benchmark
7
17
  ## Quick Start
8
18
  ### Prerequirement
@@ -41,6 +51,7 @@ All the database client supported
41
51
  | memorydb | `pip install vectordb-bench[memorydb]` |
42
52
  | chromadb | `pip install vectordb-bench[chromadb]` |
43
53
  | awsopensearch | `pip install vectordb-bench[opensearch]` |
54
+ | aliyun_opensearch | `pip install vectordb-bench[aliyun_opensearch]` |
44
55
 
45
56
  ### Run
46
57
 
@@ -179,16 +190,6 @@ milvushnsw:
179
190
  > - Options passed on the command line will override the configuration file*
180
191
  > - Parameter names use an _ not -
181
192
 
182
- ## What is VectorDBBench
183
- 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.
184
-
185
- 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.
186
- 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.
187
-
188
- 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!
189
-
190
- Prepare to delve into the world of VectorDBBench, and let it guide you in uncovering your perfect vector database match.
191
-
192
193
  ## Leaderboard
193
194
  ### Introduction
194
195
  To facilitate the presentation of test results and provide a comprehensive performance analysis report, we offer a [leaderboard page](https://zilliz.com/benchmark). It allows us to choose from QPS, QP$, and latency metrics, and provides a comprehensive assessment of a system's performance based on the test results of various cases and a set of scoring mechanisms (to be introduced later). On this leaderboard, we can select the systems and models to be compared, and filter out cases we do not want to consider. Comprehensive scores are always ranked from best to worst, and the specific test results of each query will be presented in the list below.
@@ -239,13 +240,13 @@ After reopen the repository in container, run `python -m vectordb_bench` in the
239
240
 
240
241
  ### Check coding styles
241
242
  ```shell
242
- $ ruff check vectordb_bench
243
+ $ make lint
243
244
  ```
244
245
 
245
- Add `--fix` if you want to fix the coding styles automatically
246
+ To fix the coding styles automatically
246
247
 
247
248
  ```shell
248
- $ ruff check vectordb_bench --fix
249
+ $ make format
249
250
  ```
250
251
 
251
252
  ## How does it work?
@@ -0,0 +1,210 @@
1
+ [build-system]
2
+ requires = ["setuptools>=67.0", "wheel", "setuptools_scm[toml]>=6.2"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools.package-data]
6
+ "vectordb_bench.results" = ["*.json"]
7
+
8
+ [tool.setuptools.packages.find]
9
+ where = ["."]
10
+ include = ["vectordb_bench", "vectordb_bench.cli"]
11
+
12
+ [project]
13
+ name = "vectordb-bench"
14
+ authors = [
15
+ {name="XuanYang-cn", email="xuan.yang@zilliz.com"},
16
+ ]
17
+ description = "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."
18
+
19
+ readme = "README.md"
20
+ requires-python = ">=3.11"
21
+ classifiers = [
22
+ "Programming Language :: Python :: 3",
23
+ "License :: OSI Approved :: MIT License",
24
+ "Operating System :: OS Independent",
25
+ ]
26
+ dependencies = [
27
+ "click",
28
+ "pytz",
29
+ "streamlit-autorefresh",
30
+ "streamlit!=1.34.0",
31
+ "streamlit_extras",
32
+ "tqdm",
33
+ "s3fs",
34
+ "oss2",
35
+ "psutil",
36
+ "polars",
37
+ "plotly",
38
+ "environs",
39
+ "pydantic<v2",
40
+ "scikit-learn",
41
+ "pymilvus", # with pandas, numpy, ujson
42
+ ]
43
+ dynamic = ["version"]
44
+
45
+ [project.optional-dependencies]
46
+ test = [
47
+ "black",
48
+ "ruff",
49
+ "pytest",
50
+ ]
51
+
52
+ all = [
53
+ "grpcio==1.53.0", # for qdrant-client and pymilvus
54
+ "grpcio-tools==1.53.0", # for qdrant-client and pymilvus
55
+ "qdrant-client",
56
+ "pinecone-client",
57
+ "weaviate-client",
58
+ "elasticsearch",
59
+ "sqlalchemy",
60
+ "redis",
61
+ "chromadb",
62
+ "pgvector",
63
+ "psycopg",
64
+ "psycopg-binary",
65
+ "pgvecto_rs[psycopg3]>=0.2.2",
66
+ "opensearch-dsl",
67
+ "opensearch-py",
68
+ "memorydb",
69
+ "alibabacloud_ha3engine_vector",
70
+ "alibabacloud_searchengine20211025",
71
+ ]
72
+
73
+ qdrant = [ "qdrant-client" ]
74
+ pinecone = [ "pinecone-client" ]
75
+ weaviate = [ "weaviate-client" ]
76
+ elastic = [ "elasticsearch" ]
77
+ # For elastic and aliyun_elasticsearch
78
+
79
+ pgvector = [ "psycopg", "psycopg-binary", "pgvector" ]
80
+ # for pgvector, pgvectorscale, pgdiskann, and, alloydb
81
+
82
+ pgvecto_rs = [ "pgvecto_rs[psycopg3]>=0.2.2" ]
83
+ redis = [ "redis" ]
84
+ memorydb = [ "memorydb" ]
85
+ chromadb = [ "chromadb" ]
86
+ opensearch = [ "opensearch-py" ]
87
+ aliyun_opensearch = [ "alibabacloud_ha3engine_vector", "alibabacloud_searchengine20211025"]
88
+
89
+ [project.urls]
90
+ "repository" = "https://github.com/zilliztech/VectorDBBench"
91
+
92
+ [project.scripts]
93
+ init_bench = "vectordb_bench.__main__:main"
94
+ vectordbbench = "vectordb_bench.cli.vectordbbench:cli"
95
+
96
+ [tool.setuptools_scm]
97
+
98
+ [tool.black]
99
+ line-length = 120
100
+ target-version = ['py311']
101
+ include = '\.pyi?$'
102
+
103
+ [tool.ruff]
104
+ lint.select = [
105
+ "E",
106
+ "F",
107
+ "C90",
108
+ "I",
109
+ "N",
110
+ "B", "C", "G",
111
+ "A",
112
+ "ANN001",
113
+ "S", "T", "W", "ARG", "BLE", "COM", "DJ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"
114
+ ]
115
+ lint.ignore = [
116
+ "BLE001", # blind-except (BLE001)
117
+ "SLF001", # SLF001 Private member accessed [E]
118
+ "TRY003", # [ruff] TRY003 Avoid specifying long messages outside the exception class [E]
119
+ "FBT001", "FBT002", "FBT003",
120
+ "G004", # [ruff] G004 Logging statement uses f-string [E]
121
+ "UP031",
122
+ "RUF012",
123
+ "EM101",
124
+ "N805",
125
+ "ARG002",
126
+ "ARG003",
127
+ "PIE796", # https://github.com/zilliztech/VectorDBBench/issues/438
128
+ "INP001", # TODO
129
+ "TID252", # TODO
130
+ "N801", "N802", "N815",
131
+ "S101", "S108", "S603", "S311",
132
+ "PLR2004",
133
+ "RUF017",
134
+ "C416",
135
+ "PLW0603",
136
+ "COM812",
137
+ ]
138
+
139
+ # Allow autofix for all enabled rules (when `--fix`) is provided.
140
+ lint.fixable = [
141
+ "A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W",
142
+ "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT",
143
+ "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH",
144
+ "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP",
145
+ "YTT",
146
+ ]
147
+ lint.unfixable = []
148
+
149
+ show-fixes = true
150
+
151
+ # Exclude a variety of commonly ignored directories.
152
+ exclude = [
153
+ ".bzr",
154
+ ".direnv",
155
+ ".eggs",
156
+ ".git",
157
+ ".git-rewrite",
158
+ ".hg",
159
+ ".mypy_cache",
160
+ ".nox",
161
+ ".pants.d",
162
+ ".pytype",
163
+ ".ruff_cache",
164
+ ".svn",
165
+ ".tox",
166
+ ".venv",
167
+ "__pypackages__",
168
+ "_build",
169
+ "buck-out",
170
+ "build",
171
+ "dist",
172
+ "node_modules",
173
+ "venv",
174
+ "grpc_gen",
175
+ "__pycache__",
176
+ "frontend", # TODO
177
+ "tests",
178
+ ]
179
+
180
+ # Same as Black.
181
+ line-length = 120
182
+
183
+ # Allow unused variables when underscore-prefixed.
184
+ lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
185
+
186
+ # Assume Python 3.11
187
+ target-version = "py311"
188
+
189
+ [tool.ruff.lint.mccabe]
190
+ # Unlike Flake8, default to a complexity level of 10.
191
+ max-complexity = 18
192
+
193
+ [tool.ruff.lint.pycodestyle]
194
+ max-line-length = 120
195
+ max-doc-length = 120
196
+
197
+ [tool.ruff.lint.pylint]
198
+ max-args = 20
199
+ max-branches = 15
200
+
201
+ [tool.ruff.lint.flake8-builtins]
202
+ builtins-ignorelist = [
203
+ # "format",
204
+ # "next",
205
+ # "object", # TODO
206
+ # "id",
207
+ # "dict", # TODO
208
+ # "filter",
209
+ ]
210
+
@@ -0,0 +1,92 @@
1
+ import inspect
2
+ import pathlib
3
+
4
+ import environs
5
+
6
+ from . import log_util
7
+
8
+ env = environs.Env()
9
+ env.read_env(".env", False)
10
+
11
+
12
+ class config:
13
+ ALIYUN_OSS_URL = "assets.zilliz.com.cn/benchmark/"
14
+ AWS_S3_URL = "assets.zilliz.com/benchmark/"
15
+
16
+ LOG_LEVEL = env.str("LOG_LEVEL", "INFO")
17
+
18
+ DEFAULT_DATASET_URL = env.str("DEFAULT_DATASET_URL", AWS_S3_URL)
19
+ DATASET_LOCAL_DIR = env.path("DATASET_LOCAL_DIR", "/tmp/vectordb_bench/dataset")
20
+ NUM_PER_BATCH = env.int("NUM_PER_BATCH", 100)
21
+
22
+ DROP_OLD = env.bool("DROP_OLD", True)
23
+ USE_SHUFFLED_DATA = env.bool("USE_SHUFFLED_DATA", True)
24
+
25
+ NUM_CONCURRENCY = env.list(
26
+ "NUM_CONCURRENCY",
27
+ [
28
+ 1,
29
+ 5,
30
+ 10,
31
+ 15,
32
+ 20,
33
+ 25,
34
+ 30,
35
+ 35,
36
+ 40,
37
+ 45,
38
+ 50,
39
+ 55,
40
+ 60,
41
+ 65,
42
+ 70,
43
+ 75,
44
+ 80,
45
+ 85,
46
+ 90,
47
+ 95,
48
+ 100,
49
+ ],
50
+ subcast=int,
51
+ )
52
+
53
+ CONCURRENCY_DURATION = 30
54
+
55
+ RESULTS_LOCAL_DIR = env.path(
56
+ "RESULTS_LOCAL_DIR",
57
+ pathlib.Path(__file__).parent.joinpath("results"),
58
+ )
59
+ CONFIG_LOCAL_DIR = env.path(
60
+ "CONFIG_LOCAL_DIR",
61
+ pathlib.Path(__file__).parent.joinpath("config-files"),
62
+ )
63
+
64
+ K_DEFAULT = 100 # default return top k nearest neighbors during search
65
+ CUSTOM_CONFIG_DIR = pathlib.Path(__file__).parent.joinpath("custom/custom_case.json")
66
+
67
+ CAPACITY_TIMEOUT_IN_SECONDS = 24 * 3600 # 24h
68
+ LOAD_TIMEOUT_DEFAULT = 24 * 3600 # 24h
69
+ LOAD_TIMEOUT_768D_1M = 24 * 3600 # 24h
70
+ LOAD_TIMEOUT_768D_10M = 240 * 3600 # 10d
71
+ LOAD_TIMEOUT_768D_100M = 2400 * 3600 # 100d
72
+
73
+ LOAD_TIMEOUT_1536D_500K = 24 * 3600 # 24h
74
+ LOAD_TIMEOUT_1536D_5M = 240 * 3600 # 10d
75
+
76
+ OPTIMIZE_TIMEOUT_DEFAULT = 24 * 3600 # 24h
77
+ OPTIMIZE_TIMEOUT_768D_1M = 24 * 3600 # 24h
78
+ OPTIMIZE_TIMEOUT_768D_10M = 240 * 3600 # 10d
79
+ OPTIMIZE_TIMEOUT_768D_100M = 2400 * 3600 # 100d
80
+
81
+ OPTIMIZE_TIMEOUT_1536D_500K = 24 * 3600 # 24h
82
+ OPTIMIZE_TIMEOUT_1536D_5M = 240 * 3600 # 10d
83
+
84
+ def display(self) -> str:
85
+ return [
86
+ i
87
+ for i in inspect.getmembers(self)
88
+ if not inspect.ismethod(i[1]) and not i[0].startswith("_") and "TIMEOUT" not in i[0]
89
+ ]
90
+
91
+
92
+ log_util.init(config.LOG_LEVEL)
@@ -1,7 +1,8 @@
1
- import traceback
2
1
  import logging
2
+ import pathlib
3
3
  import subprocess
4
- import os
4
+ import traceback
5
+
5
6
  from . import config
6
7
 
7
8
  log = logging.getLogger("vectordb_bench")
@@ -16,7 +17,7 @@ def run_streamlit():
16
17
  cmd = [
17
18
  "streamlit",
18
19
  "run",
19
- f"{os.path.dirname(__file__)}/frontend/vdb_benchmark.py",
20
+ f"{pathlib.Path(__file__).parent}/frontend/vdb_benchmark.py",
20
21
  "--logger.level",
21
22
  "info",
22
23
  "--theme.base",
@@ -1,24 +1,25 @@
1
- from .cases import CaseLabel
2
- from .task_runner import CaseRunner, RunningStatus, TaskRunner
3
- from ..models import TaskConfig
4
- from ..backend.clients import EmptyDBCaseConfig
5
- from ..backend.data_source import DatasetSource
6
1
  import logging
7
2
 
3
+ from vectordb_bench.backend.clients import EmptyDBCaseConfig
4
+ from vectordb_bench.backend.data_source import DatasetSource
5
+ from vectordb_bench.models import TaskConfig
6
+
7
+ from .cases import CaseLabel
8
+ from .task_runner import CaseRunner, RunningStatus, TaskRunner
8
9
 
9
10
  log = logging.getLogger(__name__)
10
11
 
11
12
 
12
13
  class Assembler:
13
14
  @classmethod
14
- def assemble(cls, run_id , task: TaskConfig, source: DatasetSource) -> CaseRunner:
15
+ def assemble(cls, run_id: str, task: TaskConfig, source: DatasetSource) -> CaseRunner:
15
16
  c_cls = task.case_config.case_id.case_cls
16
17
 
17
18
  c = c_cls(task.case_config.custom_case)
18
- if type(task.db_case_config) != EmptyDBCaseConfig:
19
+ if type(task.db_case_config) is not EmptyDBCaseConfig:
19
20
  task.db_case_config.metric_type = c.dataset.data.metric_type
20
21
 
21
- runner = CaseRunner(
22
+ return CaseRunner(
22
23
  run_id=run_id,
23
24
  config=task,
24
25
  ca=c,
@@ -26,8 +27,6 @@ class Assembler:
26
27
  dataset_source=source,
27
28
  )
28
29
 
29
- return runner
30
-
31
30
  @classmethod
32
31
  def assemble_all(
33
32
  cls,
@@ -50,12 +49,12 @@ class Assembler:
50
49
  db2runner[db].append(r)
51
50
 
52
51
  # check dbclient installed
53
- for k in db2runner.keys():
52
+ for k in db2runner:
54
53
  _ = k.init_cls
55
54
 
56
55
  # sort by dataset size
57
- for k in db2runner.keys():
58
- db2runner[k].sort(key=lambda x:x.ca.dataset.data.size)
56
+ for _, runner in db2runner.items():
57
+ runner.sort(key=lambda x: x.ca.dataset.data.size)
59
58
 
60
59
  all_runners = []
61
60
  all_runners.extend(load_runners)