Skip to main content

evalreliability

Measure the reliability of LLM-as-judge evaluations.

tests PyPI Python License


Your eval score went from 3.80 to 4.10 after a prompt change. Did anything improve?

Run the same judge on the same items twice and you may find it moves 0.68 on its own. Then 0.30 was never a result. Most teams have never measured this, because no tool in the eval stack reports it.

Other tools give you a judge score. This one gives you the error bar on that score, and tells you which decisions it can carry.

Install

pip install evalreliability

Core depends only on numpy, pandas and scipy. Harness integrations are extras:

pip install "evalreliability[inspect]"

Status

Early. 0.0.1 ships the input contract and design checking. The measurement verbs land next — see the roadmap below.

Input

One long frame, one row per rating:

item rater rater_type run dimension score
doc_01::M3 gpt-4 judge 0 coherence 4
doc_01::M3 claude judge 0 coherence 3
doc_01::M3 expert_0 human 0 coherence 4

item, rater and score are required. rater_type, run and dimension are optional, and each one you supply unlocks another facet of the analysis.

Design checking

Every reliability coefficient assumes a measurement design. Choose the wrong one and the number is wrong in a way nothing downstream will flag. So the design question gets answered from the data, first:

import pandas as pd
from evalreliability import check_design

df = pd.read_parquet("ratings.parquet")

print(check_design(df, by="dimension")["coherence"])
coherence: crossed, 1600 items x 3 raters, 3 ratings per item

When a two-way model is not licensed, it says so and why:

relevance: nested, 400 items x 12 raters, 3 ratings per item
  two-way models are not licensed here (raters differ across items);
  use a one-way model

And it warns where precision will be poor regardless of how many items you have:

coherence: crossed, 1600 items x 3 raters, 3 ratings per item
  warning: 3 raters gives 2 df on the rater term, so absolute-agreement
  intervals will be very wide

That last one matters more than it looks. Absolute-agreement reliability depends on a rater variance component estimated from the number of raters, not the number of items. Sixteen hundred items do nothing for it.

Roadmap

Release Verb The question it answers
0.0.1 check_design() What measurement design do I actually have?
0.1 ceiling() How much do my raters agree, and what is the best score anyone could get?
0.1 stability() How much does my judge wobble, and what is the smallest change it can detect?
0.2 compare() How does my judge do against the reference, relative to the ceiling?
0.3 plan() How many raters, runs and items do I need, and what will it cost?

What this does not do

It will not tell you whether a judge is correct. No tool can. There is no ground truth for whether a summary is coherent — only what qualified people think, and they disagree. In SummEval, three expert annotators reached a Krippendorff's alpha of 0.41 before reconciliation.

So "correct" is not available as a target. What is available is how far a judge sits from a human reference whose own noise you have measured, and how much of your reported number is signal.

Design principles

  • Correct over comprehensive. Every coefficient is tested against an independent implementation — pingouin, krippendorff, GeneralizIT — rather than against itself.
  • The form follows the decision. You say whether the score value carries your decision or only the ordering. The library derives which coefficient that implies and names it in the output. No dropdown of six options you have to already understand.
  • Small install. A measurement library nobody installs measures nothing.
  • Say what is not supported. Where a claim is not licensed by the data, the output says so rather than printing a number anyway.

Citing

See CITATION.cff. Each release is archived on Zenodo with a DOI.

License

Apache-2.0. See LICENSE and NOTICE.

Metadata

Release files for evalreliability 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for evalreliability 0.0.1
File Size Uploaded
evalreliability-0.0.1.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for evalreliability 0.0.1
File Interpreter ABI Platform
evalreliability-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.0 kB

Release files / evalreliability-0.0.1.tar.gz

Download URL evalreliability-0.0.1.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5408128ecb42c8aeb09a3053620d436a240dab5f9da44dd224440d839d31faf1
BLAKE2b-256 checksum
How to use checksums
fe5a1ad8fec1dfa0d483b109c663eb02d9c0fe9ab2b0a96007b006597ae6b9cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / evalreliability-0.0.1-py3-none-any.whl

Download URL evalreliability-0.0.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e782fded9d3727205c605f85d1a3eddf374b25351582f6f620714ced1720c2d8
BLAKE2b-256 checksum
How to use checksums
ea83123c3d5967aacb78d37c794e2a6dd58d87ce64817bd777b7d5b1b4242879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page