windmill_api/models/
ai_provider.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum AiProvider {
17 #[serde(rename = "openai")]
18 Openai,
19 #[serde(rename = "azure_openai")]
20 AzureOpenai,
21 #[serde(rename = "anthropic")]
22 Anthropic,
23 #[serde(rename = "mistral")]
24 Mistral,
25 #[serde(rename = "deepseek")]
26 Deepseek,
27 #[serde(rename = "googleai")]
28 Googleai,
29 #[serde(rename = "groq")]
30 Groq,
31 #[serde(rename = "openrouter")]
32 Openrouter,
33 #[serde(rename = "togetherai")]
34 Togetherai,
35 #[serde(rename = "aws_bedrock")]
36 AwsBedrock,
37 #[serde(rename = "customai")]
38 Customai,
39
40}
41
42impl std::fmt::Display for AiProvider {
43 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
44 match self {
45 Self::Openai => write!(f, "openai"),
46 Self::AzureOpenai => write!(f, "azure_openai"),
47 Self::Anthropic => write!(f, "anthropic"),
48 Self::Mistral => write!(f, "mistral"),
49 Self::Deepseek => write!(f, "deepseek"),
50 Self::Googleai => write!(f, "googleai"),
51 Self::Groq => write!(f, "groq"),
52 Self::Openrouter => write!(f, "openrouter"),
53 Self::Togetherai => write!(f, "togetherai"),
54 Self::AwsBedrock => write!(f, "aws_bedrock"),
55 Self::Customai => write!(f, "customai"),
56 }
57 }
58}
59
60impl Default for AiProvider {
61 fn default() -> AiProvider {
62 Self::Openai
63 }
64}
65