-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsearch-dataset-accuracy.yaml
More file actions
60 lines (57 loc) · 2.57 KB
/
Copy pathsearch-dataset-accuracy.yaml
File metadata and controls
60 lines (57 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Example bfb search config that measures search accuracy (recall) against a
# reference dataset, using the same dataset format as vector-db-benchmark.
#
# # 1. Upload the dataset corpus (assigns point id = dataset row index):
# bfb upload --example upload-dataset-config
#
# # 2. Search with the dataset's query set and measure recall:
# bfb search --example search-dataset-accuracy -p 8 -t 4 \
# --search-limit 10 --uri http://localhost:6334
#
# When a request's `source` is `type: dataset`, bfb draws query vectors from the
# dataset's *query set* (not the corpus) and, for every query, compares the
# returned point ids against the dataset's ground-truth nearest neighbors.
# Recall is reported under "--- Precision ---" as `|found ∩ expected[:k]| / k`.
#
# If the query set carries per-query `conditions` (the ann-filtering-benchmark
# datasets: laion-small-clip, arxiv-titles-*-filters, h-and-m-*-filters, the
# random-*-filters family), its ground truth answers the FILTERED query, so bfb
# applies each query's own conditions. A `filters:` block on the same request is
# then ignored — the dataset defines the filter. bfb prints how many queries
# carry conditions when it opens the query set.
#
# IMPORTANT: accuracy only lines up when the corpus was uploaded with the
# default integer id scheme (point id == dataset row index), which is what
# `bfb upload` does for `id: integer` collections.
#
# Supported query/ground-truth sources (auto-detected from the dataset files):
# * h5 (ann-benchmarks): `test` (queries) + `neighbors` (ground truth)
# * tar (ann-filtering-benchmark-datasets): `tests.jsonl` with
# `query` / `closest_ids`
# * sparse: `queries.csr` + `results.gt`
collection:
# Must match the collection uploaded in step 1 (`--example upload-dataset-config`).
name: glove-25-angular
requests:
# Dense recall against the glove-25-angular query set (h5 `test`/`neighbors`).
# `size` is optional for dataset sources (the dataset defines the dimension);
# it is kept here only for documentation.
- kind: dense
size: 25
source:
type: dataset
name: glove-25-angular
format: h5
path: glove-25-angular/glove-25-angular.hdf5
link: http://ann-benchmarks.com/glove-25-angular.hdf5
# Sparse recall example (uncomment and point at a sparse dataset that ships a
# `queries.csr` + `results.gt` query set):
#
# - kind: sparse
# using: bm25
# source:
# type: dataset
# name: my-sparse-dataset
# format: sparse
# path: my-sparse-dataset/my-sparse-dataset
# link: https://example.com/my-sparse-dataset.tgz