ThinkThen

Test it before you trust it

Every answer comes with the model's probability. You set the bar, and you count the misses on your own records.

Grade it on your own records

Take records you have already labeled. Put your labels in a key file, one per record. thinkthen audit grades ThinkThen's saved answers against the key. thinkthen audit --help shows how to save them.

Jev was asked whether each song is on Abbey Road. At the default bar of 0.5, 5 are right. Jev says yes wrongly 5 times.
thinkthen audit shown.jsonl shown-key.jsonl |
jq '{
  songs: .rows,
  right,
  wrong_yes: .false_yes,
  missed_yes: .false_no
}'
Output
{
  "songs": 10,
  "right": 5,
  "wrong_yes": 5,
  "missed_yes": 0
}
exit 0

The audit page grades the same records at other bars.

The threshold is yours

The model reports a probability. Your threshold turns it into an answer. One number is a cut. Two numbers are a band, and the middle is not sure.

Under the band 0.2:0.8, the refund request is yes and the thank-you is no. The send-back line could mean an exchange or money back. It lands in the band as null.
question="Does the customer ask for a refund?"

cat <<'EOF' |
Please refund my order. It arrived broken.
Thanks for the quick help yesterday!
I want to send this back.
EOF
thinkthen decide "$question" \
  --batch 1 \
  --lines \
  --threshold 0.2:0.8 |
jq .
Output
{
  "input": "Please refund my order. It arrived broken.",
  "value": true
}
{
  "input": "Thanks for the quick help yesterday!",
  "value": false
}
{
  "input": "I want to send this back.",
  "value": null
}
exit 0

A band hands a person the calls a pipeline should not make alone. The backend may fail to answer a question. ThinkThen marks that question failed and counts it. A failure never turns into null.

Four outcomes, four colors

The same four colors run through this site and the terminal.

yes exit 0 prints true
no exit 1 prints false
not sure exit 3 prints null
broken exit 2, 4, 5, 6, 7, 70 prints nothing

The words for the numbers

WordWhat it is
probabilityA number the model reported, passed through unchanged. For yes or no, the chance the answer is yes. For choose and score, the share given to each option or level.
probabilitiesThe model's full list, one number per option or level, adding to 1.
thresholdYour bar on a probability. An input.
bandA low bar and a high bar. The middle goes to a person.
positionThe number score prints: where the evidence lands along your levels. ThinkThen computes it as the average of the level probabilities.
strengthThe number on a recognized name. ThinkThen computes it. It is not a probability.

ThinkThen prints no confidence of its own. Set your bar on the probability.

What leaves the machine