1. Initialize LangWatch DSPy with optimizer=None
Before the compilation step, explicitly provideNone
on the optimizer
parameter to be able to track the steps manually:
2. Track the metric function
Either before instantiating your optimizer, or inside the compilation step, don’t forget to wrap the metric function withlangwatch.dspy.track_metric
so that it’s tracked:
3. Track each step
Now at each step your optimizer progresses, calllangwatch.dspy.log_step
to capture the score at the current step index, optimizer info and predictors being used on this step evaluation:
log_step
.