vectordb-bench 0.0.30__py3-none-any.whl → 1.0.0__py3-none-any.whl

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 (76) hide show
  1. vectordb_bench/__init__.py +14 -27
  2. vectordb_bench/backend/assembler.py +19 -6
  3. vectordb_bench/backend/cases.py +186 -23
  4. vectordb_bench/backend/clients/__init__.py +16 -0
  5. vectordb_bench/backend/clients/api.py +22 -1
  6. vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py +82 -41
  7. vectordb_bench/backend/clients/aws_opensearch/config.py +23 -4
  8. vectordb_bench/backend/clients/chroma/chroma.py +6 -2
  9. vectordb_bench/backend/clients/elastic_cloud/config.py +19 -1
  10. vectordb_bench/backend/clients/elastic_cloud/elastic_cloud.py +133 -45
  11. vectordb_bench/backend/clients/milvus/config.py +1 -0
  12. vectordb_bench/backend/clients/milvus/milvus.py +74 -22
  13. vectordb_bench/backend/clients/oceanbase/cli.py +100 -0
  14. vectordb_bench/backend/clients/oceanbase/config.py +125 -0
  15. vectordb_bench/backend/clients/oceanbase/oceanbase.py +215 -0
  16. vectordb_bench/backend/clients/pinecone/pinecone.py +39 -25
  17. vectordb_bench/backend/clients/qdrant_cloud/config.py +59 -3
  18. vectordb_bench/backend/clients/qdrant_cloud/qdrant_cloud.py +100 -33
  19. vectordb_bench/backend/dataset.py +143 -27
  20. vectordb_bench/backend/filter.py +76 -0
  21. vectordb_bench/backend/runner/__init__.py +3 -3
  22. vectordb_bench/backend/runner/mp_runner.py +52 -39
  23. vectordb_bench/backend/runner/rate_runner.py +68 -52
  24. vectordb_bench/backend/runner/read_write_runner.py +125 -68
  25. vectordb_bench/backend/runner/serial_runner.py +56 -23
  26. vectordb_bench/backend/task_runner.py +48 -20
  27. vectordb_bench/cli/cli.py +59 -1
  28. vectordb_bench/cli/vectordbbench.py +3 -0
  29. vectordb_bench/frontend/components/check_results/data.py +16 -11
  30. vectordb_bench/frontend/components/check_results/filters.py +53 -25
  31. vectordb_bench/frontend/components/check_results/headerIcon.py +16 -13
  32. vectordb_bench/frontend/components/check_results/nav.py +20 -0
  33. vectordb_bench/frontend/components/custom/displayCustomCase.py +43 -8
  34. vectordb_bench/frontend/components/custom/displaypPrams.py +10 -5
  35. vectordb_bench/frontend/components/custom/getCustomConfig.py +10 -0
  36. vectordb_bench/frontend/components/label_filter/charts.py +60 -0
  37. vectordb_bench/frontend/components/run_test/caseSelector.py +48 -52
  38. vectordb_bench/frontend/components/run_test/dbSelector.py +9 -5
  39. vectordb_bench/frontend/components/run_test/inputWidget.py +48 -0
  40. vectordb_bench/frontend/components/run_test/submitTask.py +3 -1
  41. vectordb_bench/frontend/components/streaming/charts.py +253 -0
  42. vectordb_bench/frontend/components/streaming/data.py +62 -0
  43. vectordb_bench/frontend/components/tables/data.py +1 -1
  44. vectordb_bench/frontend/components/welcome/explainPrams.py +66 -0
  45. vectordb_bench/frontend/components/welcome/pagestyle.py +106 -0
  46. vectordb_bench/frontend/components/welcome/welcomePrams.py +147 -0
  47. vectordb_bench/frontend/config/dbCaseConfigs.py +307 -40
  48. vectordb_bench/frontend/config/styles.py +32 -2
  49. vectordb_bench/frontend/pages/concurrent.py +5 -1
  50. vectordb_bench/frontend/pages/custom.py +4 -0
  51. vectordb_bench/frontend/pages/label_filter.py +56 -0
  52. vectordb_bench/frontend/pages/quries_per_dollar.py +5 -1
  53. vectordb_bench/frontend/pages/results.py +60 -0
  54. vectordb_bench/frontend/pages/run_test.py +3 -3
  55. vectordb_bench/frontend/pages/streaming.py +135 -0
  56. vectordb_bench/frontend/pages/tables.py +4 -0
  57. vectordb_bench/frontend/vdb_benchmark.py +16 -41
  58. vectordb_bench/interface.py +6 -2
  59. vectordb_bench/metric.py +15 -1
  60. vectordb_bench/models.py +31 -11
  61. vectordb_bench/results/ElasticCloud/result_20250318_standard_elasticcloud.json +5890 -0
  62. vectordb_bench/results/Milvus/result_20250509_standard_milvus.json +6138 -0
  63. vectordb_bench/results/OpenSearch/result_20250224_standard_opensearch.json +7319 -0
  64. vectordb_bench/results/Pinecone/result_20250124_standard_pinecone.json +2365 -0
  65. vectordb_bench/results/QdrantCloud/result_20250602_standard_qdrantcloud.json +3556 -0
  66. vectordb_bench/results/ZillizCloud/result_20250613_standard_zillizcloud.json +6290 -0
  67. vectordb_bench/results/dbPrices.json +12 -4
  68. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/METADATA +85 -32
  69. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/RECORD +73 -56
  70. vectordb_bench/results/ZillizCloud/result_20230727_standard_zillizcloud.json +0 -791
  71. vectordb_bench/results/ZillizCloud/result_20230808_standard_zillizcloud.json +0 -679
  72. vectordb_bench/results/ZillizCloud/result_20240105_standard_202401_zillizcloud.json +0 -1352
  73. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/WHEEL +0 -0
  74. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/entry_points.txt +0 -0
  75. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/licenses/LICENSE +0 -0
  76. {vectordb_bench-0.0.30.dist-info → vectordb_bench-1.0.0.dist-info}/top_level.txt +0 -0
@@ -1,679 +0,0 @@
1
- {
2
- "run_id": "5c1e8bd468224ffda1b39b08cdc342c3",
3
- "task_label": "standard",
4
- "results": [
5
- {
6
- "metrics": {
7
- "max_load_count": 0,
8
- "load_duration": 1079.0,
9
- "qps": 297.5,
10
- "serial_latency_p99": 0.0072,
11
- "recall": 0.974
12
- },
13
- "task_config": {
14
- "db": "ZillizCloud",
15
- "db_config": {
16
- "db_label": "1cu-perf",
17
- "version": "v2023.6",
18
- "uri": "**********",
19
- "user": "root",
20
- "password": "**********"
21
- },
22
- "db_case_config": {
23
- "index": "AUTOINDEX",
24
- "metric_type": "COSINE"
25
- },
26
- "case_config": {
27
- "case_id": 10,
28
- "custom_case": {}
29
- }
30
- },
31
- "label": ":)"
32
- },
33
- {
34
- "metrics": {
35
- "max_load_count": 0,
36
- "load_duration": 0.0,
37
- "qps": 0.0,
38
- "serial_latency_p99": 0.0,
39
- "recall": 0.0
40
- },
41
- "task_config": {
42
- "db": "ZillizCloud",
43
- "db_config": {
44
- "db_label": "1cu-perf",
45
- "version": "v2023.6",
46
- "uri": "**********",
47
- "user": "root",
48
- "password": "**********"
49
- },
50
- "db_case_config": {
51
- "index": "AUTOINDEX",
52
- "metric_type": "COSINE"
53
- },
54
- "case_config": {
55
- "case_id": 11,
56
- "custom_case": {}
57
- }
58
- },
59
- "label": "x"
60
- },
61
- {
62
- "metrics": {
63
- "max_load_count": 0,
64
- "load_duration": 1060.0,
65
- "qps": 228.3,
66
- "serial_latency_p99": 0.0106,
67
- "recall": 0.994
68
- },
69
- "task_config": {
70
- "db": "ZillizCloud",
71
- "db_config": {
72
- "db_label": "1cu-perf",
73
- "version": "v2023.6",
74
- "uri": "**********",
75
- "user": "root",
76
- "password": "**********"
77
- },
78
- "db_case_config": {
79
- "index": "AUTOINDEX",
80
- "metric_type": "COSINE"
81
- },
82
- "case_config": {
83
- "case_id": 12,
84
- "custom_case": {}
85
- }
86
- },
87
- "label": ":)"
88
- },
89
- {
90
- "metrics": {
91
- "max_load_count": 0,
92
- "load_duration": 0.0,
93
- "qps": 0.0,
94
- "serial_latency_p99": 0.0,
95
- "recall": 0.0
96
- },
97
- "task_config": {
98
- "db": "ZillizCloud",
99
- "db_config": {
100
- "db_label": "1cu-perf",
101
- "version": "v2023.6",
102
- "uri": "**********",
103
- "user": "root",
104
- "password": "**********"
105
- },
106
- "db_case_config": {
107
- "index": "AUTOINDEX",
108
- "metric_type": "COSINE"
109
- },
110
- "case_config": {
111
- "case_id": 13,
112
- "custom_case": {}
113
- }
114
- },
115
- "label": "x"
116
- },
117
- {
118
- "metrics": {
119
- "max_load_count": 0,
120
- "load_duration": 1067.0,
121
- "qps": 584.0,
122
- "serial_latency_p99": 0.0046,
123
- "recall": 1.0
124
- },
125
- "task_config": {
126
- "db": "ZillizCloud",
127
- "db_config": {
128
- "db_label": "1cu-perf",
129
- "version": "v2023.6",
130
- "uri": "**********",
131
- "user": "root",
132
- "password": "**********"
133
- },
134
- "db_case_config": {
135
- "index": "AUTOINDEX",
136
- "metric_type": "COSINE"
137
- },
138
- "case_config": {
139
- "case_id": 14,
140
- "custom_case": {}
141
- }
142
- },
143
- "label": ":)"
144
- },
145
- {
146
- "metrics": {
147
- "max_load_count": 0,
148
- "load_duration": 0.0,
149
- "qps": 0.0,
150
- "serial_latency_p99": 0.0,
151
- "recall": 0.0
152
- },
153
- "task_config": {
154
- "db": "ZillizCloud",
155
- "db_config": {
156
- "db_label": "1cu-perf",
157
- "version": "v2023.6",
158
- "uri": "**********",
159
- "user": "root",
160
- "password": "**********"
161
- },
162
- "db_case_config": {
163
- "index": "AUTOINDEX",
164
- "metric_type": "COSINE"
165
- },
166
- "case_config": {
167
- "case_id": 15,
168
- "custom_case": {}
169
- }
170
- },
171
- "label": "x"
172
- },
173
- {
174
- "metrics": {
175
- "max_load_count": 0,
176
- "load_duration": 1786.0,
177
- "qps": 1871.0,
178
- "serial_latency_p99": 0.007,
179
- "recall": 0.9602
180
- },
181
- "task_config": {
182
- "db": "ZillizCloud",
183
- "db_config": {
184
- "db_label": "8cu-perf",
185
- "version": "v2023.6",
186
- "uri": "**********",
187
- "user": "root",
188
- "password": "**********"
189
- },
190
- "db_case_config": {
191
- "index": "AUTOINDEX",
192
- "metric_type": "COSINE"
193
- },
194
- "case_config": {
195
- "case_id": 10,
196
- "custom_case": {}
197
- }
198
- },
199
- "label": ":)"
200
- },
201
- {
202
- "metrics": {
203
- "max_load_count": 0,
204
- "load_duration": 6848.0,
205
- "qps": 556.7,
206
- "serial_latency_p99": 0.0067,
207
- "recall": 0.9723
208
- },
209
- "task_config": {
210
- "db": "ZillizCloud",
211
- "db_config": {
212
- "db_label": "8cu-perf",
213
- "version": "v2023.6",
214
- "uri": "**********",
215
- "user": "root",
216
- "password": "**********"
217
- },
218
- "db_case_config": {
219
- "index": "AUTOINDEX",
220
- "metric_type": "COSINE"
221
- },
222
- "case_config": {
223
- "case_id": 11,
224
- "custom_case": {}
225
- }
226
- },
227
- "label": ":)"
228
- },
229
- {
230
- "metrics": {
231
- "max_load_count": 0,
232
- "load_duration": 1786.0,
233
- "qps": 1583.0,
234
- "serial_latency_p99": 0.0068,
235
- "recall": 0.9836
236
- },
237
- "task_config": {
238
- "db": "ZillizCloud",
239
- "db_config": {
240
- "db_label": "8cu-perf",
241
- "version": "v2023.6",
242
- "uri": "**********",
243
- "user": "root",
244
- "password": "**********"
245
- },
246
- "db_case_config": {
247
- "index": "AUTOINDEX",
248
- "metric_type": "COSINE"
249
- },
250
- "case_config": {
251
- "case_id": 12,
252
- "custom_case": {}
253
- }
254
- },
255
- "label": ":)"
256
- },
257
- {
258
- "metrics": {
259
- "max_load_count": 0,
260
- "load_duration": 6976.0,
261
- "qps": 294.3,
262
- "serial_latency_p99": 0.0109,
263
- "recall": 0.9939
264
- },
265
- "task_config": {
266
- "db": "ZillizCloud",
267
- "db_config": {
268
- "db_label": "8cu-perf",
269
- "version": "v2023.6",
270
- "uri": "**********",
271
- "user": "root",
272
- "password": "**********"
273
- },
274
- "db_case_config": {
275
- "index": "AUTOINDEX",
276
- "metric_type": "COSINE"
277
- },
278
- "case_config": {
279
- "case_id": 13,
280
- "custom_case": {}
281
- }
282
- },
283
- "label": ":)"
284
- },
285
- {
286
- "metrics": {
287
- "max_load_count": 0,
288
- "load_duration": 1786.0,
289
- "qps": 2345.0,
290
- "serial_latency_p99": 0.0089,
291
- "recall": 1.0
292
- },
293
- "task_config": {
294
- "db": "ZillizCloud",
295
- "db_config": {
296
- "db_label": "8cu-perf",
297
- "version": "v2023.6",
298
- "uri": "**********",
299
- "user": "root",
300
- "password": "**********"
301
- },
302
- "db_case_config": {
303
- "index": "AUTOINDEX",
304
- "metric_type": "COSINE"
305
- },
306
- "case_config": {
307
- "case_id": 14,
308
- "custom_case": {}
309
- }
310
- },
311
- "label": ":)"
312
- },
313
- {
314
- "metrics": {
315
- "max_load_count": 0,
316
- "load_duration": 6976.0,
317
- "qps": 295.6,
318
- "serial_latency_p99": 0.0123,
319
- "recall": 1.0
320
- },
321
- "task_config": {
322
- "db": "ZillizCloud",
323
- "db_config": {
324
- "db_label": "8cu-perf",
325
- "version": "v2023.6",
326
- "uri": "**********",
327
- "user": "root",
328
- "password": "**********"
329
- },
330
- "db_case_config": {
331
- "index": "AUTOINDEX",
332
- "metric_type": "COSINE"
333
- },
334
- "case_config": {
335
- "case_id": 15,
336
- "custom_case": {}
337
- }
338
- },
339
- "label": ":)"
340
- },
341
- {
342
- "metrics": {
343
- "max_load_count": 0,
344
- "load_duration": 2408.0,
345
- "qps": 143.0,
346
- "serial_latency_p99": 0.0335,
347
- "recall": 0.9818
348
- },
349
- "task_config": {
350
- "db": "ZillizCloud",
351
- "db_config": {
352
- "db_label": "1cu-cap",
353
- "version": "v2023.6",
354
- "uri": "**********",
355
- "user": "root",
356
- "password": "**********"
357
- },
358
- "db_case_config": {
359
- "index": "AUTOINDEX",
360
- "metric_type": "COSINE"
361
- },
362
- "case_config": {
363
- "case_id": 10,
364
- "custom_case": {}
365
- }
366
- },
367
- "label": ":)"
368
- },
369
- {
370
- "metrics": {
371
- "max_load_count": 0,
372
- "load_duration": 0.0,
373
- "qps": 0.0,
374
- "serial_latency_p99": 0.0,
375
- "recall": 0.0
376
- },
377
- "task_config": {
378
- "db": "ZillizCloud",
379
- "db_config": {
380
- "db_label": "1cu-cap",
381
- "version": "v2023.6",
382
- "uri": "**********",
383
- "user": "root",
384
- "password": "**********"
385
- },
386
- "db_case_config": {
387
- "index": "AUTOINDEX",
388
- "metric_type": "COSINE"
389
- },
390
- "case_config": {
391
- "case_id": 11,
392
- "custom_case": {}
393
- }
394
- },
395
- "label": "x"
396
- },
397
- {
398
- "metrics": {
399
- "max_load_count": 0,
400
- "load_duration": 2408.0,
401
- "qps": 106.0,
402
- "serial_latency_p99": 0.0207,
403
- "recall": 0.9887
404
- },
405
- "task_config": {
406
- "db": "ZillizCloud",
407
- "db_config": {
408
- "db_label": "1cu-cap",
409
- "version": "v2023.6",
410
- "uri": "**********",
411
- "user": "root",
412
- "password": "**********"
413
- },
414
- "db_case_config": {
415
- "index": "AUTOINDEX",
416
- "metric_type": "COSINE"
417
- },
418
- "case_config": {
419
- "case_id": 12,
420
- "custom_case": {}
421
- }
422
- },
423
- "label": ":)"
424
- },
425
- {
426
- "metrics": {
427
- "max_load_count": 0,
428
- "load_duration": 0.0,
429
- "qps": 0.0,
430
- "serial_latency_p99": 0.0,
431
- "recall": 0.0
432
- },
433
- "task_config": {
434
- "db": "ZillizCloud",
435
- "db_config": {
436
- "db_label": "1cu-cap",
437
- "version": "v2023.6",
438
- "uri": "**********",
439
- "user": "root",
440
- "password": "**********"
441
- },
442
- "db_case_config": {
443
- "index": "AUTOINDEX",
444
- "metric_type": "COSINE"
445
- },
446
- "case_config": {
447
- "case_id": 13,
448
- "custom_case": {}
449
- }
450
- },
451
- "label": "x"
452
- },
453
- {
454
- "metrics": {
455
- "max_load_count": 0,
456
- "load_duration": 2408.0,
457
- "qps": 189.0,
458
- "serial_latency_p99": 0.0116,
459
- "recall": 1.0
460
- },
461
- "task_config": {
462
- "db": "ZillizCloud",
463
- "db_config": {
464
- "db_label": "1cu-cap",
465
- "version": "v2023.6",
466
- "uri": "**********",
467
- "user": "root",
468
- "password": "**********"
469
- },
470
- "db_case_config": {
471
- "index": "AUTOINDEX",
472
- "metric_type": "COSINE"
473
- },
474
- "case_config": {
475
- "case_id": 14,
476
- "custom_case": {}
477
- }
478
- },
479
- "label": ":)"
480
- },
481
- {
482
- "metrics": {
483
- "max_load_count": 0,
484
- "load_duration": 0.0,
485
- "qps": 0.0,
486
- "serial_latency_p99": 0.0,
487
- "recall": 0.0
488
- },
489
- "task_config": {
490
- "db": "ZillizCloud",
491
- "db_config": {
492
- "db_label": "1cu-cap",
493
- "version": "v2023.6",
494
- "uri": "**********",
495
- "user": "root",
496
- "password": "**********"
497
- },
498
- "db_case_config": {
499
- "index": "AUTOINDEX",
500
- "metric_type": "COSINE"
501
- },
502
- "case_config": {
503
- "case_id": 15,
504
- "custom_case": {}
505
- }
506
- },
507
- "label": "x"
508
- },
509
- {
510
- "metrics": {
511
- "max_load_count": 0,
512
- "load_duration": 2586.0,
513
- "qps": 379.9721,
514
- "serial_latency_p99": 0.0124,
515
- "recall": 0.982
516
- },
517
- "task_config": {
518
- "db": "ZillizCloud",
519
- "db_config": {
520
- "db_label": "2cu-cap",
521
- "version": "v2023.6",
522
- "uri": "**********",
523
- "user": "root",
524
- "password": "**********"
525
- },
526
- "db_case_config": {
527
- "index": "AUTOINDEX",
528
- "metric_type": "COSINE"
529
- },
530
- "case_config": {
531
- "case_id": 10,
532
- "custom_case": {}
533
- }
534
- },
535
- "label": ":)"
536
- },
537
- {
538
- "metrics": {
539
- "max_load_count": 0,
540
- "load_duration": 15050.0,
541
- "qps": 71.74,
542
- "serial_latency_p99": 0.0508,
543
- "recall": 0.9883
544
- },
545
- "task_config": {
546
- "db": "ZillizCloud",
547
- "db_config": {
548
- "db_label": "2cu-cap",
549
- "version": "v2023.6",
550
- "uri": "**********",
551
- "user": "root",
552
- "password": "**********"
553
- },
554
- "db_case_config": {
555
- "index": "AUTOINDEX",
556
- "metric_type": "COSINE"
557
- },
558
- "case_config": {
559
- "case_id": 11,
560
- "custom_case": {}
561
- }
562
- },
563
- "label": ":)"
564
- },
565
- {
566
- "metrics": {
567
- "max_load_count": 0,
568
- "load_duration": 2586.0,
569
- "qps": 287.0,
570
- "serial_latency_p99": 0.0149,
571
- "recall": 0.9865
572
- },
573
- "task_config": {
574
- "db": "ZillizCloud",
575
- "db_config": {
576
- "db_label": "2cu-cap",
577
- "version": "v2023.6",
578
- "uri": "**********",
579
- "user": "root",
580
- "password": "**********"
581
- },
582
- "db_case_config": {
583
- "index": "AUTOINDEX",
584
- "metric_type": "COSINE"
585
- },
586
- "case_config": {
587
- "case_id": 12,
588
- "custom_case": {}
589
- }
590
- },
591
- "label": ":)"
592
- },
593
- {
594
- "metrics": {
595
- "max_load_count": 0,
596
- "load_duration": 13793.0,
597
- "qps": 34.6654,
598
- "serial_latency_p99": 0.0647,
599
- "recall": 0.9961
600
- },
601
- "task_config": {
602
- "db": "ZillizCloud",
603
- "db_config": {
604
- "db_label": "2cu-cap",
605
- "version": "v2023.6",
606
- "uri": "**********",
607
- "user": "root",
608
- "password": "**********"
609
- },
610
- "db_case_config": {
611
- "index": "AUTOINDEX",
612
- "metric_type": "COSINE"
613
- },
614
- "case_config": {
615
- "case_id": 13,
616
- "custom_case": {}
617
- }
618
- },
619
- "label": ":)"
620
- },
621
- {
622
- "metrics": {
623
- "max_load_count": 0,
624
- "load_duration": 2586.0,
625
- "qps": 412.0,
626
- "serial_latency_p99": 0.0103,
627
- "recall": 1.0
628
- },
629
- "task_config": {
630
- "db": "ZillizCloud",
631
- "db_config": {
632
- "db_label": "2cu-cap",
633
- "version": "v2023.6",
634
- "uri": "**********",
635
- "user": "root",
636
- "password": "**********"
637
- },
638
- "db_case_config": {
639
- "index": "AUTOINDEX",
640
- "metric_type": "COSINE"
641
- },
642
- "case_config": {
643
- "case_id": 14,
644
- "custom_case": {}
645
- }
646
- },
647
- "label": ":)"
648
- },
649
- {
650
- "metrics": {
651
- "max_load_count": 0,
652
- "load_duration": 13793.0,
653
- "qps": 42.169,
654
- "serial_latency_p99": 0.0468,
655
- "recall": 1.0
656
- },
657
- "task_config": {
658
- "db": "ZillizCloud",
659
- "db_config": {
660
- "db_label": "2cu-cap",
661
- "version": "v2023.6",
662
- "uri": "**********",
663
- "user": "root",
664
- "password": "**********"
665
- },
666
- "db_case_config": {
667
- "index": "AUTOINDEX",
668
- "metric_type": "COSINE"
669
- },
670
- "case_config": {
671
- "case_id": 15,
672
- "custom_case": {}
673
- }
674
- },
675
- "label": ":)"
676
- }
677
- ],
678
- "file_fmt": "result_{}_{}_{}.json"
679
- }