openai/models/
chat_completion_request_message.rs

1/*
2 * OpenAI API
3 *
4 * APIs for sampling from and fine-tuning language models
5 *
6 * The version of the OpenAPI document: 1.2.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct ChatCompletionRequestMessage {
16    /// The role of the author of this message.
17    #[serde(rename = "role")]
18    pub role: Role,
19    /// The contents of the message
20    #[serde(rename = "content")]
21    pub content: String,
22    /// The name of the user in a multi-user chat
23    #[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/// The role of the author of this message.
38#[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