gpt_batch_scribe/
gpt_message_role.rs1crate::ix!();
2
3#[derive(Debug, Serialize, Deserialize)]
5pub enum GptMessageRole {
6 System,
7 User,
8}
9
10pub(crate) mod message_role {
11
12 use super::*;
13
14 pub fn serialize<S>(value: &GptMessageRole, serializer: S) -> Result<S::Ok, S::Error>
16 where
17 S: Serializer,
18 {
19 let role_str = match value {
20 GptMessageRole::System => "system",
21 GptMessageRole::User => "user",
22 };
23 serializer.serialize_str(role_str)
24 }
25
26 pub fn deserialize<'de, D>(deserializer: D) -> Result<GptMessageRole, D::Error>
28 where
29 D: Deserializer<'de>,
30 {
31 let s: String = Deserialize::deserialize(deserializer)?;
32 match s.as_ref() {
33 "system" => Ok(GptMessageRole::System),
34 "user" => Ok(GptMessageRole::User),
35 _ => Err(DeError::custom("unknown message role")),
36 }
37 }
38}