Free tool · MIT licensed

Does your multiple-choice eval depend on option order?

A single Python file, standard library only. It shows every question to your model once per cyclic rotation of the options and reports accuracy with an interval, how often the chosen answer changes, and accuracy by the slot of the correct answer.

Download option_order_check.py Download demo.jsonl

Install with pip

pip install option-order-check
option-order-check --demo --provider mock

Also on PyPI, with the source on GitHub (MIT).

Or try the single file, no API key

python option_order_check.py demo.jsonl --provider mock

The mock model has a deliberate lean toward one answer slot so you can see what a biased model looks like in the output.

Run it on your own model

Your file is JSONL, one question per line, with the correct option as a 0-based index:

{"question": "Which gas do plants absorb?", "options": ["Oxygen", "Carbon dioxide", "Helium", "Neon"], "answer": 1}
# OpenAI
export OPENAI_API_KEY=...
python option_order_check.py mytests.jsonl --provider openai --model gpt-4o-mini

# Local model through any OpenAI-compatible server (Ollama shown)
python option_order_check.py mytests.jsonl --provider openai --model llama3 \
    --base-url http://localhost:11434/v1 --api-key-env NONE

How to read the output

The Wilson interval on accuracy treats the rotations of one question as independent, which they are not, so read it as a rough guide. The flip-rate interval resamples questions. This tool measures option-order sensitivity only. It is not a full reliability audit.

Need the rest of the picture?

Option order is one of several ways an AI feature can look better than it is. The AI Reliability Test Kit measures accuracy with confidence intervals, robustness to rewording and reordering, run-to-run consistency and calibration, and produces a shareable Ship / Caution / Not-ready scorecard.

See the Test Kit Read the audit behind this tool