dspy_rs/optimizer/
mod.rs

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