05_heterogenous_examples/
05-heterogenous-examples.rs

1/*
2Script to run a heterogenous example.
3
4Run with:
5```
6cargo run --example 05-heterogenous-examples
7```
8*/
9
10use dspy_rs::{ChatAdapter, LM, Predict, Predictor, configure, example, sign};
11
12#[tokio::main]
13async fn main() -> anyhow::Result<()> {
14    configure(LM::default(), ChatAdapter {});
15
16    let exp = example! {
17        "number": "input" => 10,
18    };
19    let predict = Predict::new(sign! {
20        (number: i32) -> number_squared: i32, number_cubed: i32
21    });
22
23    let prediction = predict.forward(exp).await?;
24    println!("{prediction:?}");
25
26    Ok(())
27}