router
router
¶
Backward-compat shim — canonical location is learning.router.
Classes¶
DefaultQueryAnalyzer
¶
HeuristicRouter
¶
HeuristicRouter(available_models: List[str] | None = None, *, default_model: str = '', fallback_model: str = '')
Bases: RouterPolicy
Rule-based model router.
Rules (applied in order): 1. Code detected → prefer model with "code"/"coder" in name 2. Math detected → prefer larger model 3. Short query (<50 chars, no code/math) → prefer smaller/faster model 4. Long/complex query (>500 chars OR reasoning keywords) → prefer larger model 5. High urgency (>0.8) → override to smaller model 6. Default fallback → default_model → fallback_model → first available
Source code in src/openjarvis/learning/router.py
Functions¶
build_routing_context
¶
build_routing_context(query: str, *, urgency: float = 0.5) -> RoutingContext
Populate a RoutingContext from a raw query string.