agents.supervisor.utils.routing¶
Dynamic Routing Engine for Haive Supervisor System.
Handles intelligent routing decisions using DynamicChoiceModel and LLM-based analysis. Provides context-aware agent selection with validation and fallback mechanisms.
Classes¶
Abstract base for routing strategies. |
|
Main routing engine that orchestrates routing decisions. |
|
LLM-based routing strategy using structured output. |
|
Context extracted from state for routing decisions. |
|
Model for routing decisions. |
|
Rule-based routing strategy for deterministic routing. |
|
Classifies tasks for better routing decisions. |
Module Contents¶
- class agents.supervisor.utils.routing.BaseRoutingStrategy¶
Bases:
abc.ABC
Abstract base for routing strategies.
- abstractmethod make_routing_decision(context, available_agents, agent_capabilities, config=None)¶
- Async:
- Parameters:
- Return type:
Make routing decision based on context.
- class agents.supervisor.utils.routing.DynamicRoutingEngine(routing_model, routing_engine=None, routing_strategy=None, enable_context_analysis=True)¶
Main routing engine that orchestrates routing decisions.
Handles context extraction, strategy selection, and routing execution with comprehensive error handling and fallback mechanisms.
Initialize routing engine.
- Parameters:
routing_model (haive.core.common.models.dynamic_choice_model.DynamicChoiceModel[str]) – DynamicChoiceModel for available choices
routing_engine (haive.core.engine.base.InvokableEngine | None) – Engine for LLM-based routing (optional)
routing_strategy (BaseRoutingStrategy | None) – Custom routing strategy (optional)
enable_context_analysis (bool) – Whether to perform context analysis
- print_routing_stats()¶
Print routing engine statistics.
- Return type:
None
- async route_request(state, agent_capabilities, config=None)¶
Main routing method.
- class agents.supervisor.utils.routing.LLMRoutingStrategy(routing_engine, routing_model)¶
Bases:
BaseRoutingStrategy
LLM-based routing strategy using structured output.
Init .
- Parameters:
routing_engine (haive.core.engine.base.InvokableEngine) – [TODO: Add description]
routing_model (haive.core.common.models.dynamic_choice_model.DynamicChoiceModel[str]) – [TODO: Add description]
- async make_routing_decision(context, available_agents, agent_capabilities, config=None)¶
Make LLM-based routing decision.
- Parameters:
- Return type:
- class agents.supervisor.utils.routing.RoutingContext(/, **data)¶
Bases:
pydantic.BaseModel
Context extracted from state for routing decisions.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.utils.routing.RoutingDecision(/, **data)¶
Bases:
pydantic.BaseModel
Model for routing decisions.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.utils.routing.RuleBasedRoutingStrategy(routing_rules)¶
Bases:
BaseRoutingStrategy
Rule-based routing strategy for deterministic routing.
Initialize with routing rules.
- async make_routing_decision(context, available_agents, agent_capabilities, config=None)¶
Make rule-based routing decision.
- Parameters:
- Return type: