dspy-rs 0.7.3

A DSPy rewrite(not port) to Rust.
Documentation
pub mod copro;
pub mod gepa;
pub mod mipro;
pub mod pareto;

pub use copro::*;
pub use gepa::*;
pub use mipro::*;
pub use pareto::*;

use crate::{
    core::{Module, Optimizable},
    data::example::Example,
    evaluate::Evaluator,
};
use anyhow::Result;

#[allow(async_fn_in_trait)]
pub trait Optimizer {
    async fn compile<M>(&self, module: &mut M, trainset: Vec<Example>) -> Result<()>
    where
        M: Module + Optimizable + Evaluator;
}