vapi_client/models/
create_assistant_dto_model.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CreateAssistantDtoModel : These are the options for the assistant's LLM.
15/// These are the options for the assistant's LLM.
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum CreateAssistantDtoModel {
19    AnyscaleModel(models::AnyscaleModel),
20    AnthropicModel(models::AnthropicModel),
21    CerebrasModel(models::CerebrasModel),
22    CustomLlmModel(models::CustomLlmModel),
23    DeepInfraModel(models::DeepInfraModel),
24    DeepSeekModel(models::DeepSeekModel),
25    GoogleModel(models::GoogleModel),
26    GroqModel(models::GroqModel),
27    InflectionAiModel(models::InflectionAiModel),
28    OpenAiModel(models::OpenAiModel),
29    OpenRouterModel(models::OpenRouterModel),
30    PerplexityAiModel(models::PerplexityAiModel),
31    TogetherAiModel(models::TogetherAiModel),
32    VapiModel(models::VapiModel),
33    XaiModel(models::XaiModel),
34}
35
36impl Default for CreateAssistantDtoModel {
37    fn default() -> Self {
38        Self::AnyscaleModel(Default::default())
39    }
40}
41/// 
42#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
43pub enum Provider {
44    #[serde(rename = "xai")]
45    Xai,
46}
47
48impl Default for Provider {
49    fn default() -> Provider {
50        Self::Xai
51    }
52}
53/// This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
54#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
55pub enum Model {
56    #[serde(rename = "grok-beta")]
57    GrokBeta,
58    #[serde(rename = "grok-2")]
59    Grok2,
60    #[serde(rename = "grok-3")]
61    Grok3,
62}
63
64impl Default for Model {
65    fn default() -> Model {
66        Self::GrokBeta
67    }
68}
69/// This determines whether metadata is sent in requests to the custom provider.  - `off` will not send any metadata. payload will look like `{ messages }` - `variable` will send `assistant.metadata` as a variable on the payload. payload will look like `{ messages, metadata }` - `destructured` will send `assistant.metadata` fields directly on the payload. payload will look like `{ messages, ...metadata }`  Further, `variable` and `destructured` will send `call`, `phoneNumber`, and `customer` objects in the payload.  Default is `variable`.
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
71pub enum MetadataSendMode {
72    #[serde(rename = "off")]
73    Off,
74    #[serde(rename = "variable")]
75    Variable,
76    #[serde(rename = "destructured")]
77    Destructured,
78}
79
80impl Default for MetadataSendMode {
81    fn default() -> MetadataSendMode {
82        Self::Off
83    }
84}
85/// These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.
86#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
87pub enum FallbackModels {
88    #[serde(rename = "gpt-4.1")]
89    Gpt4Period1,
90    #[serde(rename = "gpt-4.1-mini")]
91    Gpt4Period1Mini,
92    #[serde(rename = "gpt-4.1-nano")]
93    Gpt4Period1Nano,
94    #[serde(rename = "gpt-4.5-preview")]
95    Gpt4Period5Preview,
96    #[serde(rename = "chatgpt-4o-latest")]
97    Chatgpt4oLatest,
98    #[serde(rename = "o3-mini")]
99    O3Mini,
100    #[serde(rename = "o1-preview")]
101    O1Preview,
102    #[serde(rename = "o1-preview-2024-09-12")]
103    O1Preview20240912,
104    #[serde(rename = "o1-mini")]
105    O1Mini,
106    #[serde(rename = "o1-mini-2024-09-12")]
107    O1Mini20240912,
108    #[serde(rename = "gpt-4o-realtime-preview-2024-10-01")]
109    Gpt4oRealtimePreview20241001,
110    #[serde(rename = "gpt-4o-realtime-preview-2024-12-17")]
111    Gpt4oRealtimePreview20241217,
112    #[serde(rename = "gpt-4o-mini-realtime-preview-2024-12-17")]
113    Gpt4oMiniRealtimePreview20241217,
114    #[serde(rename = "gpt-4o-mini-2024-07-18")]
115    Gpt4oMini20240718,
116    #[serde(rename = "gpt-4o-mini")]
117    Gpt4oMini,
118    #[serde(rename = "gpt-4o")]
119    Gpt4o,
120    #[serde(rename = "gpt-4o-2024-05-13")]
121    Gpt4o20240513,
122    #[serde(rename = "gpt-4o-2024-08-06")]
123    Gpt4o20240806,
124    #[serde(rename = "gpt-4o-2024-11-20")]
125    Gpt4o20241120,
126    #[serde(rename = "gpt-4-turbo")]
127    Gpt4Turbo,
128    #[serde(rename = "gpt-4-turbo-2024-04-09")]
129    Gpt4Turbo20240409,
130    #[serde(rename = "gpt-4-turbo-preview")]
131    Gpt4TurboPreview,
132    #[serde(rename = "gpt-4-0125-preview")]
133    Gpt40125Preview,
134    #[serde(rename = "gpt-4-1106-preview")]
135    Gpt41106Preview,
136    #[serde(rename = "gpt-4")]
137    Gpt4,
138    #[serde(rename = "gpt-4-0613")]
139    Gpt40613,
140    #[serde(rename = "gpt-3.5-turbo")]
141    Gpt3Period5Turbo,
142    #[serde(rename = "gpt-3.5-turbo-0125")]
143    Gpt3Period5Turbo0125,
144    #[serde(rename = "gpt-3.5-turbo-1106")]
145    Gpt3Period5Turbo1106,
146    #[serde(rename = "gpt-3.5-turbo-16k")]
147    Gpt3Period5Turbo16k,
148    #[serde(rename = "gpt-3.5-turbo-0613")]
149    Gpt3Period5Turbo0613,
150}
151
152impl Default for FallbackModels {
153    fn default() -> FallbackModels {
154        Self::Gpt4Period1
155    }
156}
157