Router.route()

Route a task to the best available model.

Usage

Source

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,
)