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 */
1011121314#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct ChatCompletionRequestMessage {
16/// The role of the author of this message.
17#[serde(rename = "role")]
18pub role: Role,
19/// The contents of the message
20#[serde(rename = "content")]
21pub content: String,
22/// The name of the user in a multi-user chat
23#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
24pub name: Option<String>,
25}
2627impl ChatCompletionRequestMessage {
28pub fn new(role: Role, content: String) -> ChatCompletionRequestMessage {
29 ChatCompletionRequestMessage {
30 role,
31 content,
32 name: None,
33 }
34 }
35}
3637/// 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")]
41System,
42#[serde(rename = "user")]
43User,
44#[serde(rename = "assistant")]
45Assistant,
46}
4748impl Default for Role {
49fn default() -> Role {
50Self::System
51 }
52}
53