usage: dokimi tools [-h] {preference} ...
positional arguments:
{preference}
preference Two equal tools per request: how much a name, wording or position moves the
model's first-turn choice (tool_preference.v1). One call per item and rep.
options:
-h, --help show this help message and exit
usage: dokimi tools preference [-h] --groups GROUPS [--model MODEL]
[--provider {openai,anthropic,amazon-bedrock,google-vertex,openrouter,openai-codex}]
[--factors FACTORS] [--reps REPS] [--max-tokens MAX_TOKENS]
[--concurrency CONCURRENCY] [--max-cost-usd MAX_COST_USD]
[--out-json OUT_JSON] [--items-out ITEMS_OUT] [--dry-run]
options:
-h, --help show this help message and exit
--groups GROUPS tool_preference_groups.v1 JSON: requests with twin tools and distractors
--model MODEL Model under test
--provider {openai,anthropic,amazon-bedrock,google-vertex,openrouter,openai-codex}
--factors FACTORS Comma list of factors (default:
vendor_name,assertive,social_proof,long_desc,exclusion)
--reps REPS Calls per item at the provider's default sampling (default: 3)
--max-tokens MAX_TOKENS
Per call; reasoning models spend part of it before the tool call (default:
2048)
--concurrency CONCURRENCY
--max-cost-usd MAX_COST_USD
Start no new call once the priced calls have spent this much; the rest are
recorded as skipped and the command exits 2 (default: no cap)
--out-json OUT_JSON
--items-out ITEMS_OUT
Also write the expanded items (messages + tools per item) here
--dry-run Build and count the items; call nothing