Skip to content

Commit 6c177b6

Browse files
author
Magdalen Manohar
committed
add two examples and corresponding integration tests
1 parent e4a904d commit 6c177b6

3 files changed

Lines changed: 122 additions & 0 deletions

File tree

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"search_directories": [
3+
"test_data/yfcc"
4+
],
5+
"jobs": [
6+
{
7+
"type": "graph-index-dynamic-run",
8+
"content": {
9+
"build": {
10+
"data_type": "float32",
11+
"data": "yfcc_10k.fbin",
12+
"distance": "squared_l2",
13+
"max_degree": 32,
14+
"l_build": 50,
15+
"alpha": 1.2,
16+
"backedge_ratio": 1.0,
17+
"num_threads": 4,
18+
"start_point_strategy": "medoid"
19+
},
20+
"search_phase": {
21+
"search-type": "topk",
22+
"queries": "yfcc_query_100.fbin",
23+
"groundtruth": "groundtruth.bin",
24+
"reps": 1,
25+
"num_threads": [
26+
2
27+
],
28+
"runs": [
29+
{
30+
"search_n": 10,
31+
"search_l": [
32+
20,
33+
40
34+
],
35+
"recall_k": 10
36+
}
37+
]
38+
},
39+
"runbook_params": {
40+
"runbook_path": "yfcc_runbook.yaml",
41+
"dataset_name": "yfcc-10K",
42+
"gt_directory": "yfcc_runbook_gt",
43+
"ip_delete_method": {
44+
"method": "visited_and_top_k",
45+
"params": {
46+
"k_value": 20,
47+
"l_value": 50
48+
}
49+
},
50+
"ip_delete_num_to_replace": 3,
51+
"consolidate_threshold": 0.2
52+
}
53+
}
54+
}
55+
]
56+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"search_directories": [
3+
"test_data/yfcc"
4+
],
5+
"jobs": [
6+
{
7+
"type": "graph-index-build",
8+
"content": {
9+
"source": {
10+
"index-source": "Build",
11+
"data_type": "float32",
12+
"data": "yfcc_10k.fbin",
13+
"distance": "squared_l2",
14+
"max_degree": 32,
15+
"l_build": 50,
16+
"alpha": 1.2,
17+
"backedge_ratio": 1.0,
18+
"num_threads": 1,
19+
"start_point_strategy": "medoid",
20+
"num_insert_attempts": 1,
21+
"saturate_inserts": false
22+
},
23+
"search_phase": {
24+
"search-type": "topk-inline-filter",
25+
"queries": "yfcc_query_100.fbin",
26+
"groundtruth": "groundtruth_filtered.rangeres",
27+
"query_predicates": "yfcc_query_filters.json",
28+
"data_labels": "yfcc_metadata.json",
29+
"reps": 5,
30+
"num_threads": [
31+
1
32+
],
33+
"runs": [
34+
{
35+
"search_n": 20,
36+
"search_l": [
37+
20,
38+
30,
39+
40
40+
],
41+
"recall_k": 10
42+
}
43+
],
44+
"adaptive_l": {
45+
"sample_count": 10,
46+
"scale_factor": 16.0
47+
}
48+
}
49+
}
50+
}
51+
]
52+
}

diskann-benchmark/src/main.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,12 @@ mod tests {
318318
run_integration_test(raw);
319319
}
320320

321+
#[test]
322+
fn graph_index_dynamic_yfcc_integration() {
323+
let raw = value_from_file(&example_directory().join("graph-index-dynamic-yfcc.json"));
324+
run_integration_test(raw);
325+
}
326+
321327
////////////////////////////
322328
// BF-Tree Index //
323329
////////////////////////////
@@ -587,6 +593,14 @@ mod tests {
587593
run_integration_test(raw);
588594
}
589595

596+
#[test]
597+
fn graph_index_inline_filter_yfcc_integration() {
598+
// First, parse and modify the input file to establish paths relative to the
599+
// directory building the dispatcher.
600+
let raw = value_from_file(&example_directory().join("graph-index-inline-filter-yfcc.json"));
601+
run_integration_test(raw);
602+
}
603+
590604
#[test]
591605
fn graph_index_filter_integration_with_gt_compute() {
592606
let storage_provider = FileStorageProvider;

0 commit comments

Comments
 (0)