use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ModelCapabilities {
#[serde(rename = "completion_chat", skip_serializing_if = "Option::is_none")]
pub completion_chat: Option<bool>,
#[serde(rename = "function_calling", skip_serializing_if = "Option::is_none")]
pub function_calling: Option<bool>,
#[serde(rename = "completion_fim", skip_serializing_if = "Option::is_none")]
pub completion_fim: Option<bool>,
#[serde(rename = "fine_tuning", skip_serializing_if = "Option::is_none")]
pub fine_tuning: Option<bool>,
#[serde(rename = "vision", skip_serializing_if = "Option::is_none")]
pub vision: Option<bool>,
#[serde(rename = "ocr", skip_serializing_if = "Option::is_none")]
pub ocr: Option<bool>,
#[serde(rename = "classification", skip_serializing_if = "Option::is_none")]
pub classification: Option<bool>,
#[serde(rename = "moderation", skip_serializing_if = "Option::is_none")]
pub moderation: Option<bool>,
#[serde(rename = "audio", skip_serializing_if = "Option::is_none")]
pub audio: Option<bool>,
#[serde(rename = "audio_transcription", skip_serializing_if = "Option::is_none")]
pub audio_transcription: Option<bool>,
}
impl ModelCapabilities {
pub fn new() -> ModelCapabilities {
ModelCapabilities {
completion_chat: None,
function_calling: None,
completion_fim: None,
fine_tuning: None,
vision: None,
ocr: None,
classification: None,
moderation: None,
audio: None,
audio_transcription: None,
}
}
}