Skip to main content

Unified LLM evaluation: A/B uplift, Panel/Jury judges, Krippendorff α, Cohen κ, pairwise preference, Elo tournament, and bias detection

Project description

judge-kappa

Unified LLM evaluation that bridges agent-skills-eval (A/B uplift, assertion lists) and MLflow LLMaJ (datasets, named rubric dimensions) while adding statistical rigor missing from both.

Capability agent-skills-eval MLflow LLMaJ judge-kappa
Native A/B uplift
Assertion-based scoring
Named rubric dimensions
Multi-judge Panel / Jury
Krippendorff's α
Cohen's κ + P(chance)
ICL judge alignment
Positional bias detection
Verbosity bias detection
Pairwise preference rates
N-system Elo tournament
CLI-first

Installation

git clone https://github.com/williamcaban/judge-kappa-eval
cd judge-kappa

# Python 3.12+ required
uv sync --all-extras          # recommended
# or: pip install -e '.[all]'
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
# For local vLLM/Ollama, set base_url in the config instead of an API key

Quick start

# Validate a config
judge-kappa validate examples/config_skill_minimal.yaml

# Run evaluation
judge-kappa run examples/config_skill_minimal.yaml

# JSON output → file
judge-kappa run examples/config_skill.yaml --format json --output report.json

# Print config JSON Schema (for editor autocomplete)
judge-kappa schema

Documentation

Doc Contents
Decision guide Which mode to use — decision tree covering input format, judge strategy, bias detection, N systems, and providers
Input types All six entry points: evaluate_skill, evaluate_dataset, evaluate_endpoints, evaluate_prerecorded, evaluate_pairwise_dataset, TournamentEvaluator
Pairwise and Tournament When and how to use pairwise preference scoring and N-system Elo tournaments; cost tables; champion-challenger pattern
Examples Nine worked examples with configs, expected output, and interpretation guidance
Key management api_key_env three-case rule; provider quick reference; mixed-provider panel; Python API key passing
CLI reference run, validate, schema commands; output formats (text, json, jsonl); --verdicts flag; CI validation
Python API Eight usage patterns with full code; accessing report fields; serialization
Config reference Every YAML field documented; skill/dataset/pairwise mode schemas; annotated full example
Architecture Package structure; ABCs and extension points; adding providers, judges, metrics, and bias detectors

Example configs

Config What it demonstrates
examples/config_skill_minimal.yaml Single judge, no bias detection — fastest start
examples/config_skill.yaml 3-judge panel + ICL calibration + positional bias
examples/config_dataset.yaml Diverse JudgeJury with weighted rubric dimensions
examples/config_dataset_panel.yaml Homogeneous panel to verify rubric consistency
examples/config_endpoints.yaml Per-variant generation backend (endpoint A vs B)
examples/config_prerecorded.yaml Score pre-recorded outputs (no generation calls)
examples/config_pairwise.yaml Pairwise preference rates (PairwiseReport)
examples/config_regulatory.yaml Full bias evidence for compliance submissions
examples/config_mixed_panel.yaml Anthropic + OpenRouter + vLLM + Ollama in one panel

Development

uv sync --group dev
uv run pytest                                  # tests
uv run pytest --cov --cov-report=term-missing  # with coverage
uv run ruff check src tests                    # lint
uv run mypy src                                # type check

License

Apache 2.0 — github.com/williamcaban/judge-kappa-eval

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

judge_kappa-0.1.0.tar.gz (75.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

judge_kappa-0.1.0-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

Details for the file judge_kappa-0.1.0.tar.gz.

File metadata

  • Download URL: judge_kappa-0.1.0.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for judge_kappa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ee61006b03145045878ecc68cd874d97304361640575f11822613e74de33dca2
MD5 5bd71cfd2f40bf63f88a687de8cc4003
BLAKE2b-256 de0b4140a0be90a6d7d39271b90f6ea124a6c0ea95888978de01f2ab703593f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for judge_kappa-0.1.0.tar.gz:

Publisher: publish.yml on williamcaban/judge-kappa-eval

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file judge_kappa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: judge_kappa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for judge_kappa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97d10349cd414bee9f1298d99ed2527a095c77efc42acc8327b01a3424179de9
MD5 b6c8af0d52faa8611b06641b96e88619
BLAKE2b-256 780be8eb02d8f32d316c10e5e709839e5b4d0834006faf38b3ab73aedc458db9

See more details on using hashes here.

Provenance

The following attestation bundles were made for judge_kappa-0.1.0-py3-none-any.whl:

Publisher: publish.yml on williamcaban/judge-kappa-eval

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page