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 = "azure_foundry")]
22 AzureFoundry,
23 #[serde(rename = "anthropic")]
24 Anthropic,
25 #[serde(rename = "mistral")]
26 Mistral,
27 #[serde(rename = "deepseek")]
28 Deepseek,
29 #[serde(rename = "googleai")]
30 Googleai,
31 #[serde(rename = "groq")]
32 Groq,
33 #[serde(rename = "openrouter")]
34 Openrouter,
35 #[serde(rename = "togetherai")]
36 Togetherai,
37 #[serde(rename = "aws_bedrock")]
38 AwsBedrock,
39 #[serde(rename = "customai")]
40 Customai,
41
42}
43
44impl std::fmt::Display for AiProvider {
45 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
46 match self {
47 Self::Openai => write!(f, "openai"),
48 Self::AzureOpenai => write!(f, "azure_openai"),
49 Self::AzureFoundry => write!(f, "azure_foundry"),
50 Self::Anthropic => write!(f, "anthropic"),
51 Self::Mistral => write!(f, "mistral"),
52 Self::Deepseek => write!(f, "deepseek"),
53 Self::Googleai => write!(f, "googleai"),
54 Self::Groq => write!(f, "groq"),
55 Self::Openrouter => write!(f, "openrouter"),
56 Self::Togetherai => write!(f, "togetherai"),
57 Self::AwsBedrock => write!(f, "aws_bedrock"),
58 Self::Customai => write!(f, "customai"),
59 }
60 }
61}
62
63impl Default for AiProvider {
64 fn default() -> AiProvider {
65 Self::Openai
66 }
67}
68