use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CompletionChunk {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "object", skip_serializing_if = "Option::is_none")]
pub object: Option<String>,
#[serde(rename = "created", skip_serializing_if = "Option::is_none")]
pub created: Option<i32>,
#[serde(rename = "model")]
pub model: String,
#[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
pub usage: Option<Box<models::UsageInfo>>,
#[serde(rename = "choices")]
pub choices: Vec<models::CompletionResponseStreamChoice>,
}
impl CompletionChunk {
pub fn new(id: String, model: String, choices: Vec<models::CompletionResponseStreamChoice>) -> CompletionChunk {
CompletionChunk {
id,
object: None,
created: None,
model,
usage: None,
choices,
}
}
}