Advanced Usage
Callbacks
LLMize supports custom callbacks for monitoring and controlling the optimization process:
Available Callbacks
EarlyStopping: Stop optimization when no improvement is seen
AdaptTempOnPlateau: Reduce temperature when optimization plateaus
OptimalScoreStopping: Stop when reaching a target score
from llmize.callbacks import EarlyStopping, AdaptTempOnPlateau, OptimalScoreStopping
callbacks = [
EarlyStopping(patience=10, monitor='best_score'),
AdaptTempOnPlateau(factor=0.5, patience=5),
OptimalScoreStopping(optimal_score=0.99, tolerance=0.01)
]
results = optimizer.maximize(
callbacks=callbacks,
# ... other parameters
)
Parallel Processing
Enable parallel evaluation of solutions:
results = optimizer.maximize(
parallel_n_jobs=4, # Number of parallel processes
# ... other parameters
)
Result Analysis
The OptimizationResult class provides comprehensive optimization results:
# Access optimization results
print(f"Best solution: {results.best_solution}")
print(f"Best score: {results.best_score}")
print(f"Score history: {results.best_score_history}")
print(f"Per-step best scores: {results.best_score_per_step}")
print(f"Per-step average scores: {results.avg_score_per_step}")
# Convert to dictionary for serialization
results_dict = results.to_dict()