--config and --model now accept comma-separated lists to run several
models on one document. Runs execute concurrently via a thread pool
(--max-workers controls parallelism; 1 forces sequential), with logs
prefixed by the config/model label.
Each model writes to its own YAML/cost/debug files by inserting a
sanitized label into the --out name (or the input name when --out is
omitted), and cost is computed per-model from its own profile.
Single-model behavior, including stdout output, is unchanged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add a standard-legal-terminology instruction to the reason/object,
judgment-result, entities, and summary prompts (ZH + EN). Require
case_object to carry specific monetary amounts, reinforced with a
few-shot example and a context-aware validator that retries when the
source mentions a sum but no amount was extracted.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- replace example profiles with actual configs: minimax-m2.7, claude-sonnet-4.5, gemini-3-flash-preview, deepseek-v4-pro, deepseek-v4-flash
- prices fetched from OpenRouter API and converted to per-million-token
- add local qwen3-8b and qwen2.5-7b profiles (price 0)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- models.json: named profiles with base url/key/model and per-million token pricing
- support --config <Name> to load a profile, replacing --model/--base-url/--api-key
- accumulate input/output token usage across all API calls in the client
- compute time + token cost per case, written to {out}_cost.json behind opt-in --cost flag
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>