gpt_core 0.0.6

chatGPT UI's core crate. Offer the basic functionalities and mock server for chatGPT UI.
Documentation
use serde::{Deserialize, Serialize};
use std::fmt::Display;

pub type Messages = Vec<Message>;

#[derive(Debug, Serialize, Deserialize)]
#[cfg_attr(test, derive(PartialEq))]
pub struct Message {
    role: Role,
    content: String,
}

impl Display for Message {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        write!(f, "{:?}: {}", self.role, self.content)
    }
}

impl Message {
    pub fn new(role: Role, content: String) -> Self {
        Self { role, content }
    }
}

#[derive(Debug, Serialize, Deserialize)]
#[cfg_attr(test, derive(PartialEq))]
#[serde(rename_all = "lowercase")]
pub enum Role {
    System,
    User,
    Assistant,
}