openai_interface/fine_tuning/
models.rs1use url::Url;
7
8use crate::{
9 errors::OapiError,
10 rest::post::{Post, PostNoStream},
11};
12
13#[derive(Debug, Clone, serde::Serialize)]
18pub struct RestoreFineTunedModelRequest<'a> {
19 #[serde(skip)]
21 pub model: &'a str,
22}
23
24impl Post for RestoreFineTunedModelRequest<'_> {
25 fn is_streaming(&self) -> bool {
26 false
27 }
28
29 fn build_url(&self, base_url: &str) -> Result<String, OapiError> {
33 let mut url = Url::parse(base_url.trim_end_matches('/')).map_err(OapiError::UrlError)?;
34 url.path_segments_mut()
35 .map_err(|_| OapiError::UrlCannotBeBase(base_url.to_string()))?
36 .push("fine_tuning")
37 .push("models")
38 .push(self.model);
39 Ok(url.to_string())
40 }
41}
42
43impl PostNoStream for RestoreFineTunedModelRequest<'_> {
44 type Response = RestoreFineTunedModelResponse;
45}
46
47#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
49pub struct RestoreFineTunedModelResponse {
50 pub model: String,
52 #[serde(default)]
55 pub object: Option<String>,
56}
57
58crate::impl_from_str!(RestoreFineTunedModelResponse);