The standard for academic-style benchmarking
lm-evaluation-harness (EleutherAI, open-source) is the de-facto framework for running standard NLP benchmarks against language models. If you have ever read "model X scored Y on MMLU," that number was almost certainly produced by lm-eval-harness or a fork.
What it covers
- 200+ benchmark tasks out of the box: MMLU, HellaSwag, ARC, GSM8K, HumanEval, TruthfulQA, BIG-Bench, and many more.
- Provider-agnostic — runs on Hugging Face models, vLLM, OpenAI / Anthropic APIs, local llama.cpp, MLX, and more.
- Reproducibility — exact prompts, exact metric definitions, exact post-processing. Numbers from lm-eval-harness are comparable across teams.
What it does NOT do
This is not a product-eval framework. It does not help you measure whether your specific RAG pipeline answers your specific users' questions. It tells you whether the underlying model has certain general capabilities. Use it to compare base models or to validate that fine-tuning did not degrade general capabilities — not to ship a feature.
Principle: lm-eval-harness is for comparing models. promptfoo / DeepEval / Braintrust are for comparing systems. Both have their place; do not substitute one for the other.