Skip to main content

Interface: IModelRouter

Defined in: packages/agentos/src/core/llm/routing/IModelRouter.ts:104

Interface for the Model Router. Implementations are responsible for selecting an appropriate AI model and provider based on the given parameters and context.

Properties

routerId

readonly routerId: string

Defined in: packages/agentos/src/core/llm/routing/IModelRouter.ts:106

A unique identifier for this specific router implementation.

Methods

initialize()

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

Defined in: packages/agentos/src/core/llm/routing/IModelRouter.ts:120

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

Record<string, any>

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

providerManager

any

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


selectModel()

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

Defined in: packages/agentos/src/core/llm/routing/IModelRouter.ts:137

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.