use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CompletionFtModelOut {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "object", skip_serializing_if = "Option::is_none")]
pub object: Option<Object>,
#[serde(rename = "created")]
pub created: i32,
#[serde(rename = "owned_by")]
pub owned_by: String,
#[serde(rename = "workspace_id")]
pub workspace_id: String,
#[serde(rename = "root")]
pub root: String,
#[serde(rename = "root_version")]
pub root_version: String,
#[serde(rename = "archived")]
pub archived: bool,
#[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub name: Option<Option<String>>,
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "capabilities")]
pub capabilities: Box<models::FtModelCapabilitiesOut>,
#[serde(rename = "max_context_length", skip_serializing_if = "Option::is_none")]
pub max_context_length: Option<i32>,
#[serde(rename = "aliases", skip_serializing_if = "Option::is_none")]
pub aliases: Option<Vec<String>>,
#[serde(rename = "job")]
pub job: uuid::Uuid,
#[serde(rename = "model_type", skip_serializing_if = "Option::is_none")]
pub model_type: Option<ModelType>,
}
impl CompletionFtModelOut {
pub fn new(id: String, created: i32, owned_by: String, workspace_id: String, root: String, root_version: String, archived: bool, capabilities: models::FtModelCapabilitiesOut, job: uuid::Uuid) -> CompletionFtModelOut {
CompletionFtModelOut {
id,
object: None,
created,
owned_by,
workspace_id,
root,
root_version,
archived,
name: None,
description: None,
capabilities: Box::new(capabilities),
max_context_length: None,
aliases: None,
job,
model_type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
#[serde(rename = "model")]
Model,
}
impl Default for Object {
fn default() -> Object {
Self::Model
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModelType {
#[serde(rename = "completion")]
Completion,
}
impl Default for ModelType {
fn default() -> ModelType {
Self::Completion
}
}