mistral_openapi_client/models/
fim_completion_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FimCompletionRequest {
16 #[serde(rename = "model")]
18 pub model: String,
19 #[serde(rename = "temperature", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub temperature: Option<Option<f64>>,
21 #[serde(rename = "top_p", skip_serializing_if = "Option::is_none")]
23 pub top_p: Option<f64>,
24 #[serde(rename = "max_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub max_tokens: Option<Option<i32>>,
26 #[serde(rename = "stream", skip_serializing_if = "Option::is_none")]
28 pub stream: Option<bool>,
29 #[serde(rename = "stop", skip_serializing_if = "Option::is_none")]
30 pub stop: Option<Box<models::Stop>>,
31 #[serde(rename = "random_seed", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub random_seed: Option<Option<i32>>,
33 #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub metadata: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
35 #[serde(rename = "prompt")]
37 pub prompt: String,
38 #[serde(rename = "suffix", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub suffix: Option<Option<String>>,
40 #[serde(rename = "min_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
41 pub min_tokens: Option<Option<i32>>,
42}
43
44impl FimCompletionRequest {
45 pub fn new(model: String, prompt: String) -> FimCompletionRequest {
46 FimCompletionRequest {
47 model,
48 temperature: None,
49 top_p: None,
50 max_tokens: None,
51 stream: None,
52 stop: None,
53 random_seed: None,
54 metadata: None,
55 prompt,
56 suffix: None,
57 min_tokens: None,
58 }
59 }
60}
61