05_heterogenous_examples/
05-heterogenous-examples.rs1use dspy_rs::{ChatAdapter, LM, Predict, Predictor, configure, example, sign};
11
12#[tokio::main]
13async fn main() -> anyhow::Result<()> {
14 configure(
15 LM::builder()
16 .model("openai:gpt-4o-mini".to_string())
17 .build()
18 .await
19 .unwrap(),
20 ChatAdapter {},
21 );
22
23 let exp = example! {
24 "number": "input" => 10,
25 };
26 let predict = Predict::new(sign! {
27 (number: i32) -> number_squared: i32, number_cubed: i32
28 });
29
30 let prediction = predict.forward(exp).await?;
31 println!("{prediction:?}");
32
33 Ok(())
34}