Skip to content

latent.optimize.dspy.optimizer

DSPy-based prompt optimizer.

Classes

DSPyOptimizer

DSPyOptimizer(agent: BaseAgent, lower_is_better: bool = False, teleprompter: str = 'mipro_v2', teacher_model: str | None = None, student_model: str | None = None, train_split: float = 0.8, seed: int = 42, tracker: ExperimentTracker | None = None, teleprompter_kwargs: Any = {})

Prompt optimizer using DSPy teleprompters.

Wraps a BaseAgent/Judge in a DSPy Module, runs the selected teleprompter, and records results via ExperimentTracker.

Supported teleprompters: mipro_v2, copro, bootstrap_fewshot, simba, gepa.

Methods

DSPyOptimizer.optimize

optimize(train_data: list[dict[str, Any]], metric: Any, max_iterations: int = 10) -> OptimizationResult

Run DSPy teleprompter optimization.

Args: train_data: List of dicts with input/output pairs. metric: A callable (example, prediction, trace) -> float. max_iterations: Maximum number of teleprompter trials.

Returns: OptimizationResult with all experiments recorded.