lm_studio_api/chat/
role.rs

1use crate::prelude::*;
2
3// A message role
4#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
5pub enum Role {
6    #[serde(rename = "system")]
7    System,
8    #[serde(rename = "user")]
9    User,
10    #[serde(rename = "assistant")]
11    Assistant,
12}
13
14impl Role {
15    /// Returns true if it's the system role
16    pub fn is_system(&self) -> bool {
17        self == &Self::System
18    }
19
20    /// Returns true if it's the user role
21    pub fn is_user(&self) -> bool {
22        self == &Self::User
23    }
24
25    /// Returns true if it's the assistant role
26    pub fn is_assist(&self) -> bool {
27        self == &Self::Assistant
28    }
29}