#[allow(unused_imports)]
use serde_json::Value;
#[derive(Debug, Serialize, Deserialize, PartialEq)]
pub struct ChatCompletionRequestAssistantMessage {
#[serde(rename = "audio")]
pub audio: Option<crate::models::ChatCompletionRequestAssistantMessageAudio>,
#[serde(rename = "content")]
pub content: Option<ChatCompletionRequestAssistantMessageContent>,
#[serde(rename = "function_call")]
pub function_call: Option<crate::models::ChatCompletionRequestAssistantMessageFunctionCall>,
#[serde(rename = "name")]
pub name: Option<String>,
#[serde(rename = "refusal")]
pub refusal: Option<String>,
#[serde(rename = "tool_calls")]
pub tool_calls: Option<crate::models::ChatCompletionMessageToolCalls>,
}
impl Default for ChatCompletionRequestAssistantMessage {
fn default() -> Self {
Self {
audio: None,
content: None,
function_call: None,
name: None,
refusal: None,
tool_calls: None,
}
}
}
#[derive(Debug, Serialize, Deserialize, PartialEq)]
#[serde(untagged)]
pub enum ChatCompletionRequestAssistantMessageContent {
Text(String),
Array(Vec<crate::ChatCompletionRequestAssistantMessageContentPart>),
}
impl Default for ChatCompletionRequestAssistantMessageContent {
fn default() -> Self {
Self::Text(String::default())
}
}