Skip to content

Retrieval benchmarks ​

rsrs bench compares observable retrieval results on a fixed local evaluation set. It does not document the Core's ranking implementation.

flowchart LR
  Cases["Fixed JSONL cases"] --> Run["bench run"]
  DB["Same local dataset + model"] --> Run
  Run --> Results["Saved results"]
  Results --> Compare["Compare with baseline"]
sh
rsrs bench mine --out retrieval.jsonl
rsrs bench run retrieval.jsonl --save baseline.json
rsrs bench run retrieval.jsonl --baseline baseline.json

Evaluation format ​

json
{"query":"database backup","expect":["12345678"],"project":null,"note":"optional"}
FieldMeaning
queryQuery text
expectExpected record identifiers or prefixes; any matching result counts
Empty expectNegative example: no result is expected
projectOptional project scope
noteOptional evaluation note

Blank lines and lines beginning with # are skipped. Keep expected identifiers current when records are deleted or merged.

MetricMeaning
Hit at 1 / 3 / top-kFraction of positive cases with a match within the cutoff
MRRMean reciprocal rank; misses contribute zero
Empty positive resultsPositive cases returning no result
Negative noiseNegative cases returning results

Reproducibility ​

Hold constantRecord with the comparison
DataDataset identity and size
ModelModel identity and version
SoftwareCLI and binary SDK version
EvaluationSame cases, scope and top-k
EnvironmentRelevant configuration and hardware

The benchmark path does not write query logs or increment recall heat. Normal recall has different side effects. Compare equivalent runs; a saved score alone does not establish performance on another machine or platform.

Use bench --help and bench run --help for current output and control options. Published benchmark reports should omit private memory text and sensitive identifiers.