mistral_openapi_client/models/
chat_completion_event.rs1use 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