#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ChatCompletionResponseMessage {
#[serde(rename = "role")]
pub role: Role,
#[serde(rename = "content")]
pub content: String,
}
impl ChatCompletionResponseMessage {
pub fn new(role: Role, content: String) -> ChatCompletionResponseMessage {
ChatCompletionResponseMessage {
role,
content,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Role {
#[serde(rename = "system")]
System,
#[serde(rename = "user")]
User,
#[serde(rename = "assistant")]
Assistant,
}
impl Default for Role {
fn default() -> Role {
Self::System
}
}