1"""Routing strategies for multi-provider LLM inference.
2
3Provides a ``RoutingStrategyProtocol`` protocol and concrete implementations:
4
5* ``SequentialCascadeStrategy``: Try providers one at a time in priority order.
6* ``ParallelRaceStrategy``: Fire requests in parallel, return the first success.
7* ``CostOptimizedStrategy``: Sort providers by token cost, try cheapest first.
8* ``LatencyOptimizedStrategy``: Route to the provider with the lowest recent latency.
9
10The ``LLMRouter`` delegates to whichever strategy is configured via
11``LLMConfig.strategy``.
12"""
13
14from __future__ import annotations
15
16from lexigram.ai.llm.routing.strategies.cost import CostOptimizedStrategy
17from lexigram.ai.llm.routing.strategies.latency import LatencyOptimizedStrategy
18from lexigram.ai.llm.routing.strategies.parallel import ParallelRaceStrategy
19from lexigram.ai.llm.routing.strategies.sequential import SequentialCascadeStrategy
20from lexigram.contracts.ai.routing import RoutingStrategyProtocol
21
22__all__ = [
23 "CostOptimizedStrategy",
24 "LatencyOptimizedStrategy",
25 "ParallelRaceStrategy",
26 "RoutingStrategyProtocol",
27 "SequentialCascadeStrategy",
28]