Skip to main content

mistral_openapi_client/models/
chat_completion_event.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 ChatCompletionEvent {
16    #[serde(rename = "event_id")]
17    pub event_id: String,
18    #[serde(rename = "correlation_id")]
19    pub correlation_id: String,
20    #[serde(rename = "created_at")]
21    pub created_at: String,
22    #[serde(rename = "extra_fields")]
23    pub extra_fields: std::collections::HashMap<String, models::ExtraFieldsValue>,
24    #[serde(rename = "nb_input_tokens")]
25    pub nb_input_tokens: i32,
26    #[serde(rename = "nb_output_tokens")]
27    pub nb_output_tokens: i32,
28    #[serde(rename = "enabled_tools")]
29    pub enabled_tools: Vec<std::collections::HashMap<String, serde_json::Value>>,
30    #[serde(rename = "request_messages")]
31    pub request_messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
32    #[serde(rename = "response_messages")]
33    pub response_messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
34    #[serde(rename = "nb_messages")]
35    pub nb_messages: i32,
36    #[serde(rename = "chat_transcription_events")]
37    pub chat_transcription_events: Vec<models::ChatTranscriptionEvent>,
38}
39
40impl ChatCompletionEvent {
41    pub fn new(event_id: String, correlation_id: String, created_at: String, extra_fields: std::collections::HashMap<String, models::ExtraFieldsValue>, nb_input_tokens: i32, nb_output_tokens: i32, enabled_tools: Vec<std::collections::HashMap<String, serde_json::Value>>, request_messages: Vec<std::collections::HashMap<String, serde_json::Value>>, response_messages: Vec<std::collections::HashMap<String, serde_json::Value>>, nb_messages: i32, chat_transcription_events: Vec<models::ChatTranscriptionEvent>) -> ChatCompletionEvent {
42        ChatCompletionEvent {
43            event_id,
44            correlation_id,
45            created_at,
46            extra_fields,
47            nb_input_tokens,
48            nb_output_tokens,
49            enabled_tools,
50            request_messages,
51            response_messages,
52            nb_messages,
53            chat_transcription_events,
54        }
55    }
56}
57