Optimization API
The Optimization module provides compression and context optimization.
Context Optimization
- class toonverter.optimization.ContextOptimizer(budget: int, policy: OptimizationPolicy | None = None, apply_lightweight_prepass: bool = False)
Optimizes data structure to fit within a token budget.
- Parameters:
budget – The target token budget (in tokens).
policy – Optional
OptimizationPolicyto guide degradation decisions.apply_lightweight_prepass – If
True, runs a lightweight optimization pass (rounding, truncating) even if the data is within budget. Defaults toFalse.
- optimize(data: Any) Any
Main entry point. Returns a modified copy of data fitting the budget.
Smart Compression
- class toonverter.optimization.SmartCompressor(min_length: int = 4, min_occurrences: int = 2, prefix: str = '@')
Optimizes data structure size using frequency-based dictionary compression.
- Parameters:
min_length – Minimum string length to consider for compression.
min_occurrences – Minimum number of times a string must appear.
prefix – Symbol prefix (default: “@”).