openai/models/
chat_completion_request_message.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct ChatCompletionRequestMessage {
16 #[serde(rename = "role")]
18 pub role: Role,
19 #[serde(rename = "content")]
21 pub content: String,
22 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
24 pub name: Option<String>,
25}
26
27impl ChatCompletionRequestMessage {
28 pub fn new(role: Role, content: String) -> ChatCompletionRequestMessage {
29 ChatCompletionRequestMessage {
30 role,
31 content,
32 name: None,
33 }
34 }
35}
36
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum Role {
40 #[serde(rename = "system")]
41 System,
42 #[serde(rename = "user")]
43 User,
44 #[serde(rename = "assistant")]
45 Assistant,
46}
47
48impl Default for Role {
49 fn default() -> Role {
50 Self::System
51 }
52}
53