Skip to main content

Class: ModelRouter

Defined in: packages/agentos/src/core/llm/routing/ModelRouter.ts:151

Implements​

A rule-based implementation of IModelRouter. It selects an AI model by evaluating a configured set of rules in order of priority. This router is designed to be flexible and extensible through declarative rules and custom condition evaluators.

Implements​

Constructors​

Constructor​

new ModelRouter(): ModelRouter

Defined in: packages/agentos/src/core/llm/routing/ModelRouter.ts:162

Constructs a ModelRouter instance. The router must be initialized via initialize() before use.

Returns​

ModelRouter

Properties​

routerId​

readonly routerId: "rule_based_router_v1.1" = 'rule_based_router_v1.1'

Defined in: packages/agentos/src/core/llm/routing/ModelRouter.ts:153

A unique identifier for this specific router implementation.

Implementation of​

IModelRouter.routerId

Methods​

initialize()​

initialize(config, providerManager, _promptEngine?): Promise<void>

Defined in: packages/agentos/src/core/llm/routing/ModelRouter.ts:179

Async

Initializes the model router with its configuration and necessary dependencies, such as the AIModelProviderManager for accessing information about available models and providers.

Parameters​

config​

ModelRouterConfig

Router-specific configuration (e.g., rules, model preferences).

providerManager​

AIModelProviderManager

An instance of AIModelProviderManager or a similar service that provides access to available models and providers.

_promptEngine?​

any

Optional: An instance of PromptEngine, if the router uses LLM-based routing decisions.

Returns​

Promise<void>

A promise that resolves upon successful initialization.

Throws​

If initialization fails (e.g., invalid configuration).

Implementation of​

IModelRouter.initialize


selectModel()​

selectModel(params, availableModels?): Promise<ModelRouteResult | null>

Defined in: packages/agentos/src/core/llm/routing/ModelRouter.ts:216

Async

Selects an AI model and provider based on the provided parameters and the router's internal logic.

Parameters​

params​

ModelRouteParams

The parameters and context for the routing decision.

availableModels?​

ModelInfo[]

Optional: A pre-fetched list of available models. If not provided, the router may need to fetch this list from its providerManager.

Returns​

Promise<ModelRouteResult | null>

A promise that resolves with the routing decision, or null if no suitable model/provider could be found that meets the criteria.

Throws​

If a critical error occurs during the selection process.

Implementation of​

IModelRouter.selectModel