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(Box<models::AnyscaleModel>),
20    AnthropicModel(Box<models::AnthropicModel>),
21    CerebrasModel(Box<models::CerebrasModel>),
22    CustomLlmModel(Box<models::CustomLlmModel>),
23    DeepInfraModel(Box<models::DeepInfraModel>),
24    DeepSeekModel(Box<models::DeepSeekModel>),
25    GoogleModel(Box<models::GoogleModel>),
26    GroqModel(Box<models::GroqModel>),
27    InflectionAiModel(Box<models::InflectionAiModel>),
28    OpenAiModel(Box<models::OpenAiModel>),
29    OpenRouterModel(Box<models::OpenRouterModel>),
30    PerplexityAiModel(Box<models::PerplexityAiModel>),
31    TogetherAiModel(Box<models::TogetherAiModel>),
32    VapiModel(Box<models::VapiModel>),
33    XaiModel(Box<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.5-preview")]
89    Gpt4Period5Preview,
90    #[serde(rename = "chatgpt-4o-latest")]
91    Chatgpt4oLatest,
92    #[serde(rename = "o3-mini")]
93    O3Mini,
94    #[serde(rename = "o1-preview")]
95    O1Preview,
96    #[serde(rename = "o1-preview-2024-09-12")]
97    O1Preview20240912,
98    #[serde(rename = "o1-mini")]
99    O1Mini,
100    #[serde(rename = "o1-mini-2024-09-12")]
101    O1Mini20240912,
102    #[serde(rename = "gpt-4o-realtime-preview-2024-10-01")]
103    Gpt4oRealtimePreview20241001,
104    #[serde(rename = "gpt-4o-realtime-preview-2024-12-17")]
105    Gpt4oRealtimePreview20241217,
106    #[serde(rename = "gpt-4o-mini-realtime-preview-2024-12-17")]
107    Gpt4oMiniRealtimePreview20241217,
108    #[serde(rename = "gpt-4o-mini")]
109    Gpt4oMini,
110    #[serde(rename = "gpt-4o-mini-2024-07-18")]
111    Gpt4oMini20240718,
112    #[serde(rename = "gpt-4o")]
113    Gpt4o,
114    #[serde(rename = "gpt-4o-2024-05-13")]
115    Gpt4o20240513,
116    #[serde(rename = "gpt-4o-2024-08-06")]
117    Gpt4o20240806,
118    #[serde(rename = "gpt-4o-2024-11-20")]
119    Gpt4o20241120,
120    #[serde(rename = "gpt-4-turbo")]
121    Gpt4Turbo,
122    #[serde(rename = "gpt-4-turbo-2024-04-09")]
123    Gpt4Turbo20240409,
124    #[serde(rename = "gpt-4-turbo-preview")]
125    Gpt4TurboPreview,
126    #[serde(rename = "gpt-4-0125-preview")]
127    Gpt40125Preview,
128    #[serde(rename = "gpt-4-1106-preview")]
129    Gpt41106Preview,
130    #[serde(rename = "gpt-4")]
131    Gpt4,
132    #[serde(rename = "gpt-4-0613")]
133    Gpt40613,
134    #[serde(rename = "gpt-3.5-turbo")]
135    Gpt3Period5Turbo,
136    #[serde(rename = "gpt-3.5-turbo-0125")]
137    Gpt3Period5Turbo0125,
138    #[serde(rename = "gpt-3.5-turbo-1106")]
139    Gpt3Period5Turbo1106,
140    #[serde(rename = "gpt-3.5-turbo-16k")]
141    Gpt3Period5Turbo16k,
142    #[serde(rename = "gpt-3.5-turbo-0613")]
143    Gpt3Period5Turbo0613,
144}
145
146impl Default for FallbackModels {
147    fn default() -> FallbackModels {
148        Self::Gpt4Period5Preview
149    }
150}
151