LemonRouter. SmartRouting
(lemon_router v0.1.0)
View Source
Classifies task complexity and routes requests to cheap vs primary models.
Ported from Ironclaw's smart_routing.rs. Complements LemonRouter.ModelSelection
which resolves WHICH model from config — this module decides WHETHER to use
cheap vs primary based on message complexity.
Summary
Types
Functions
@spec classify_message(String.t() | nil) :: complexity()
@spec record_request(pid(), :cheap | :primary | :cascade_escalation) :: :ok
@spec route( String.t() | nil, String.t(), String.t(), LemonRouter.SmartRouting.Config.t() ) :: {:ok, String.t(), complexity()}
@spec start_stats() :: {:ok, pid()}