Router.route()
Route a task to the best available model.
Usage
Router.route(
prompt,
*,
strategy=None,
requires=None,
max_cost_tier=None,
min_context_window=None
)Parameters
prompt: str-
The task or prompt text to route.
strategy: RoutingStrategy | None = None-
Override the router’s default strategy for this call.
requires: list[str] | None = None-
Required capabilities (e.g.,
["tools", "vision"]). max_cost_tier: CostTier | None = None-
Override the router’s default max cost tier for this call.
min_context_window: int | None = None- Minimum context window size required.
Returns
RoutingResult- The selected model, reason, complexity, and alternatives.
Raises
ValueError- If no candidate models meet the requirements.
Examples
import talk_box as tb
router = tb.Router()
# Route a simple question cheaply
result = router.route("Define polymorphism")
# Route a complex task requiring tools
result = router.route(
"Analyze this dataset and generate charts",
requires=["tools", "vision"],
strategy=tb.RoutingStrategy.QUALITY_OPTIMIZED,
)