recommend_provider
Recommends the cheapest LLM model fitting your token workload and budget, with optional provider and model filters.
Instructions
Recommend the cheapest priced model that fits the workload + budget.
v1 ranks by cost only. A future release will incorporate quality
benchmarks (see quality_snapshot — the table is reserved for that
purpose) and accept a quality_priority axis; for v1 those would
rely on data we don't yet have, so the surface stays cost-only and
honest.
expected_input_tokens / expected_output_tokens default to a
nominal 1k/1k workload when absent; the reasoning notes when
defaults are in use. budget_usd, when set, filters out models
that exceed it — if nothing fits, falls back to the cheapest model
overall (the result fields are required, so there's no "no match"
return shape) and the reasoning says so plainly.
providers / models are optional whitelists (AND-combine when
both passed). Both are applied before the budget cut, so an over-
budget fallback returns the cheapest within the filter set rather
than the cheapest priced model overall. A whitelist that matches
nothing raises rather than fabricating a result — likely a
spelling error in the caller's name list.
task_description is optional and echoed into the reasoning
but does not drive selection — the tool isn't an LLM and can't
interpret free text. Omit it (or pass None) and the reasoning
opens with "Recommending …" instead of "For task 'X': …".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| models | No | ||
| providers | No | ||
| budget_usd | No | ||
| task_description | No | ||
| expected_input_tokens | No | ||
| expected_output_tokens | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| provider | Yes | ||
| reasoning | Yes | ||
| alternatives | Yes | ||
| estimated_cost_usd | Yes |