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}