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