Benchmarks and evaluations
Benchmark first
The initial public suite is BEIR for retrieval, FEVER and QASPER for evidence, WikiSection and DocRED for structure, ContraDoc for self-contradiction, WDC Products for resolution, and LongMemEval for memory.
Mari evaluates stages before end-to-end answers. A weak final score can originate in parsing, retrieval, evidence selection, policy, context packing, or generation; one aggregate number cannot distinguish them.
Run contract
from mari_components.evaluation import (
evaluate_retrieval,
load_catalog,
load_suite_catalog,
)
catalog = load_catalog("benchmarks/catalog.json")
suites = load_suite_catalog("benchmarks/suites.json")
case_score = evaluate_retrieval(
ranked_ids=["passage-7", "passage-2", "passage-9"],
relevance={"passage-2": 2.0, "passage-7": 1.0},
k=10,
)
print(case_score.ndcg, case_score.recall)
Every persisted run identifies the corpus revision and split, Mari commit, configuration, seed, model and prompt identifiers, environment, wall time, token counts, and per-case outputs. Dataset artifacts remain outside Git.
Evaluation path
frozen corpus → adapter → Mari stage → predictions + traces → deterministic metrics → regression gate
Corpus catalog
Capability |
Primary corpus |
Primary measurements |
|---|---|---|
Retrieval and indexes |
BEIR, LoTTE |
nDCG@10, Recall@100, MRR, latency, index bytes |
Parsing and sections |
QASPER, WikiSection |
text preservation, Boundary F1, Pk, WindowDiff |
Evidence and verification |
FEVER, FEVEROUS, QASPER |
evidence F1, verdict accuracy, answer F1 |
Contradictions |
ContraDoc, BEIR ArguAna |
macro-F1, localization F1, contradiction Recall@k |
Graph construction |
DocRED, QASC |
relation F1, provenance recall, multi-hop accuracy |
Entity resolution |
WDC Products |
pair/cluster F1, pairs completeness, reduction ratio |
Freshness |
FreshQA plus revision replay |
strict accuracy, stale-answer rate, time-to-consistency |
Memory |
LongMemEval |
accuracy by capability, evidence Recall@k, reader tokens |
Context assembly |
LongBench, QASPER |
score by length and budget, evidence density |
Licensing boundary
The catalog records access and license notes but does not download anything. Benchmark code and benchmark data can have different licenses, and aggregate suites such as BEIR and LongBench retain the terms of their constituent datasets. Review upstream terms before local caching, derived-data publication, or commercial use.