check
thinkthen check tests whether a server works with ThinkThen. It sends four fixed requests, one after another. Every request is real. A hosted server may charge for it.
See it first
--plan prints the address and the model, then the four request bodies and a count. It sends nothing and needs no key.
thinkthen check \
--url http://localhost:8080/v1 \
--plan |
head -n 4url http://localhost:8080/v1/systemone provider systemone model asked unspecified model sent jev-1.13.0
The four probes
Each probe asks about the same parcel delivery, and each covers the question shapes some functions send.
noul: a yes or no question, fordecide,filter,rank, and the yes or no questions ofrecognizeandrelate.choice: a pick, forchoose,find, and the kind question ofrecognize.score: a scale, forscore.mixed: five questions of three kinds in one request, fortag,annotate, and any request that carries many questions.
thinkthen check \
--url http://localhost:8080/v1 \
--plan |
grep '^request' |
cut -d ' ' -f 1-2request noul request choice request score request mixed
The report
A live check prints one reply line for each probe it decoded, then eight rows in this order: connection, key, endpoint, noul, choice, score, mixed and usage. A row reads ok, warning or critical. It reads unchecked when the check stopped before reaching it. A last line counts the critical and warning lines.
A transport failure, or status 401, 402, 403 or 404, stops the check, because every later request would meet it too. Any other failure belongs to its probe, and the check goes on. A finding never quotes the reply.
Exit codes
- 0: no row is critical. Warnings may stand.
- 2: a usage error, such as no address or an unknown option. Nothing is sent.
- 4: a row is critical, or the key is unset at an address other than this machine.
check reads no input, cache, recording or profile. --cache, --no-cache, --record, --replay and --profile are refused at exit 2. It takes no --max-retries, and four probes send at most sixteen attempts.
Limits
A check has no fixed worst case. A server's Retry-After or Retry-After-Ms header sets a minimum wait before a retry, with no cap. Without either header, a check at --timeout 90 takes about 25 minutes at most.
THINKTHEN_MAX_ESTIMATED_INPUT_TOKENS_TOTAL binds each probe. A probe the cap cannot admit stops the check before it is sent. The check prints no report and exits 2.
Any System One server · The check specification · Every exit code
On GitHub: github.com/botassembly/thinkthen