Skip to main content

mistral_openapi_client/models/
assistant_message.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AssistantMessage {
16    #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
17    pub role: Option<Role>,
18    #[serde(rename = "content", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19    pub content: Option<Option<Box<models::Content3>>>,
20    #[serde(rename = "tool_calls", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21    pub tool_calls: Option<Option<Vec<models::ToolCall>>>,
22    /// Set this to `true` when adding an assistant message as prefix to condition the model response. The role of the prefix message is to force the model to start its answer by the content of the message.
23    #[serde(rename = "prefix", skip_serializing_if = "Option::is_none")]
24    pub prefix: Option<bool>,
25}
26
27impl AssistantMessage {
28    pub fn new() -> AssistantMessage {
29        AssistantMessage {
30            role: None,
31            content: None,
32            tool_calls: None,
33            prefix: None,
34        }
35    }
36}
37/// 
38#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum Role {
40    #[serde(rename = "assistant")]
41    Assistant,
42}
43
44impl Default for Role {
45    fn default() -> Role {
46        Self::Assistant
47    }
48}
49