openai_api_rs/v1/
edit.rs

1use serde::{Deserialize, Serialize};
2use std::option::Option;
3
4use crate::impl_builder_methods;
5use crate::v1::common;
6
7#[derive(Debug, Serialize, Clone)]
8pub struct EditRequest {
9    pub model: String,
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub input: Option<String>,
12    pub instruction: String,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub n: Option<i32>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub temperature: Option<f32>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub top_p: Option<f32>,
19}
20
21impl EditRequest {
22    pub fn new(model: String, instruction: String) -> Self {
23        Self {
24            model,
25            instruction,
26            input: None,
27            n: None,
28            temperature: None,
29            top_p: None,
30        }
31    }
32}
33
34impl_builder_methods!(
35    EditRequest,
36    input: String,
37    n: i32,
38    temperature: f32,
39    top_p: f32
40);
41
42#[derive(Debug, Deserialize, Serialize)]
43pub struct EditChoice {
44    pub text: String,
45    pub index: i32,
46}
47
48#[derive(Debug, Deserialize, Serialize)]
49pub struct EditResponse {
50    pub object: String,
51    pub created: i64,
52    pub usage: common::Usage,
53    pub choices: Vec<EditChoice>,
54}