FactBench

Factuality benchmark · 2025 · Archive 05 / 11

A CLI for measuring how consistently language models classify factual claims from the FEVER dataset.

FactBench turns factuality testing into a repeatable run instead of a handful of cherry-picked questions. It evaluates the same FEVER claims across several models and keeps the raw predictions.

What I made

Each answer must resolve to supports, refutes, or not enough info. The runner reports accuracy, invalid responses, latency, and a confusion matrix for every model.

A local cache skips completed examples on later runs. Model lists, sample limits, output paths, and concurrency are all set from the command line.

How it works

5 steps
01Load FEVER

Read labelled claims from JSONL.

02Check cache

Reuse predictions already completed.

03Ask models

Run the remaining claims through OpenRouter.

04Score

Compare predictions with the three gold labels.

05Report

Write Markdown summaries and raw JSONL results.

A compact map of the main product loop.

Repository breakdown

This comes from GitHub's detected language breakdown. It measures source size, not the time or difficulty of the work.

Language mix

GitHub source bytes
TypeScript100%
Role

Independent build

Status

Open source

SourcePublic GitHub repository