windmill_api/models/
ai_config.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AiConfig {
16 #[serde(rename = "providers", skip_serializing_if = "Option::is_none")]
17 pub providers: Option<std::collections::HashMap<String, models::AiProviderConfig>>,
18 #[serde(rename = "default_model", skip_serializing_if = "Option::is_none")]
19 pub default_model: Option<Box<models::AiProviderModel>>,
20 #[serde(rename = "code_completion_model", skip_serializing_if = "Option::is_none")]
21 pub code_completion_model: Option<Box<models::AiProviderModel>>,
22 #[serde(rename = "custom_prompts", skip_serializing_if = "Option::is_none")]
23 pub custom_prompts: Option<std::collections::HashMap<String, String>>,
24 #[serde(rename = "max_tokens_per_model", skip_serializing_if = "Option::is_none")]
25 pub max_tokens_per_model: Option<std::collections::HashMap<String, i32>>,
26}
27
28impl AiConfig {
29 pub fn new() -> AiConfig {
30 AiConfig {
31 providers: None,
32 default_model: None,
33 code_completion_model: None,
34 custom_prompts: None,
35 max_tokens_per_model: None,
36 }
37 }
38}
39