use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CompletionArgs {
#[serde(rename = "stop", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub stop: Option<Option<Box<models::CompletionArgsStop>>>,
#[serde(rename = "presence_penalty", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub presence_penalty: Option<Option<f64>>,
#[serde(rename = "frequency_penalty", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub frequency_penalty: Option<Option<f64>>,
#[serde(rename = "temperature", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub temperature: Option<Option<f64>>,
#[serde(rename = "top_p", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub top_p: Option<Option<f64>>,
#[serde(rename = "max_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub max_tokens: Option<Option<i32>>,
#[serde(rename = "random_seed", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub random_seed: Option<Option<i32>>,
#[serde(rename = "prediction", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub prediction: Option<Option<Box<models::Prediction>>>,
#[serde(rename = "response_format", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub response_format: Option<Option<Box<models::ResponseFormat>>>,
#[serde(rename = "tool_choice", skip_serializing_if = "Option::is_none")]
pub tool_choice: Option<models::ToolChoiceEnum>,
}
impl CompletionArgs {
pub fn new() -> CompletionArgs {
CompletionArgs {
stop: None,
presence_penalty: None,
frequency_penalty: None,
temperature: None,
top_p: None,
max_tokens: None,
random_seed: None,
prediction: None,
response_format: None,
tool_choice: None,
}
}
}