AdaptiveWindowing
org.llm4s.agent.PruningStrategy.AdaptiveWindowing
case class AdaptiveWindowing(contextWindowSize: Int, inputCostPerToken: Option[Double], outputCostPerToken: Option[Double], preserveMinTurns: Int, costSensitivity: Double) extends PruningStrategy
Adaptive windowing strategy that automatically determines the best context window size based on the model's context size and pricing information.
This strategy optimizes for cost-quality balance:
- Uses tier-appropriate percentage of model's context window (reserves space for outputs)
- Adjusts ratio based on model size (larger models use larger windows)
- Preserves minimum recent turns for conversation coherence
- Can optionally use cost-sensitive tuning
Model tiers and window ratios:
- Small (≤32K): 60% window to reduce costs
- Medium (32K-100K): 70% balanced cost/quality
- Large (100K-200K): 75% for more complex context
- Extra large (>200K): 80% very generous window
Value parameters
- contextWindowSize
-
The model's actual context window in tokens
- costSensitivity
-
How aggressively to optimize for cost (0.0-1.0, default: 0.5) 0.0 = maximize quality, 1.0 = minimize cost
- inputCostPerToken
-
Optional cost per input token (enables cost optimization)
- outputCostPerToken
-
Optional cost per output token
- preserveMinTurns
-
Minimum number of recent turns to always preserve (default: 3)
Attributes
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait PruningStrategyclass Objecttrait Matchableclass Any
Members list
In this article