dspy_rs/core/lm/
config.rs1use bon::Builder;
2use serde_json::Value;
3use std::collections::HashMap;
4
5#[derive(Clone, Debug, Builder)]
6pub struct LMConfig {
7 #[builder(default = "gpt-4o-mini".to_string())]
8 pub model: String,
9 #[builder(default = 0.7)]
10 pub temperature: f32,
11 #[builder(default = 0.0)]
12 pub top_p: f32,
13 #[builder(default = 512)]
14 pub max_tokens: u32,
15 #[builder(default = 512)]
16 pub max_completion_tokens: u32,
17 #[builder(default = 1)]
18 pub n: u8,
19 #[builder(default = 0.0)]
20 pub presence_penalty: f32,
21 #[builder(default = 0.0)]
22 pub frequency_penalty: f32,
23 #[builder(default = 42)]
24 pub seed: i64,
25 pub logit_bias: Option<HashMap<String, Value>>,
26}
27
28impl Default for LMConfig {
29 fn default() -> Self {
30 LMConfig::builder().build()
31 }
32}