openai_struct/models/
chat_completion_request_assistant_message.rs1#[allow(unused_imports)]
14use serde_json::Value;
15
16#[derive(Debug, Serialize, Deserialize, PartialEq)]
17pub struct ChatCompletionRequestAssistantMessage {
18 #[serde(rename = "audio")]
19 pub audio: Option<crate::models::ChatCompletionRequestAssistantMessageAudio>,
20 #[serde(rename = "content")]
22 pub content: Option<ChatCompletionRequestAssistantMessageContent>,
23 #[serde(rename = "function_call")]
24 pub function_call: Option<crate::models::ChatCompletionRequestAssistantMessageFunctionCall>,
25 #[serde(rename = "name")]
27 pub name: Option<String>,
28 #[serde(rename = "refusal")]
30 pub refusal: Option<String>,
31 #[serde(rename = "tool_calls")]
32 pub tool_calls: Option<crate::models::ChatCompletionMessageToolCalls>,
33}
34
35impl Default for ChatCompletionRequestAssistantMessage {
36 fn default() -> Self {
37 Self {
38 audio: None,
39 content: None,
40 function_call: None,
41 name: None,
42 refusal: None,
43 tool_calls: None,
44 }
45 }
46}
47
48#[derive(Debug, Serialize, Deserialize, PartialEq)]
49#[serde(untagged)]
50pub enum ChatCompletionRequestAssistantMessageContent {
51 Text(String),
53 Array(Vec<crate::ChatCompletionRequestAssistantMessageContentPart>),
55}
56
57impl Default for ChatCompletionRequestAssistantMessageContent {
58 fn default() -> Self {
59 Self::Text(String::default())
60 }
61}