dspy_rs/optimizer/
mod.rs

1pub mod copro;
2pub mod gepa;
3pub mod mipro;
4pub mod pareto;
5
6pub use copro::*;
7pub use gepa::*;
8pub use mipro::*;
9pub use pareto::*;
10
11use crate::{
12    core::{Module, Optimizable},
13    data::example::Example,
14    evaluate::Evaluator,
15};
16use anyhow::Result;
17
18#[allow(async_fn_in_trait)]
19pub trait Optimizer {
20    async fn compile<M>(&self, module: &mut M, trainset: Vec<Example>) -> Result<()>
21    where
22        M: Module + Optimizable + Evaluator;
23}