openai_ergonomic/builders/
models.rs1#[derive(Debug, Clone)]
17pub struct ModelRetrievalBuilder {
18 model_id: String,
19}
20
21impl ModelRetrievalBuilder {
22 #[must_use]
24 pub fn new(model_id: impl Into<String>) -> Self {
25 Self {
26 model_id: model_id.into(),
27 }
28 }
29
30 #[must_use]
32 pub fn model_id(&self) -> &str {
33 &self.model_id
34 }
35}
36
37#[derive(Debug, Clone)]
48pub struct ModelDeleteBuilder {
49 model_id: String,
50}
51
52impl ModelDeleteBuilder {
53 #[must_use]
57 pub fn new(model_id: impl Into<String>) -> Self {
58 Self {
59 model_id: model_id.into(),
60 }
61 }
62
63 #[must_use]
65 pub fn model_id(&self) -> &str {
66 &self.model_id
67 }
68}
69
70#[cfg(test)]
71mod tests {
72 use super::*;
73
74 #[test]
75 fn test_model_retrieval_builder() {
76 let builder = ModelRetrievalBuilder::new("gpt-4");
77 assert_eq!(builder.model_id(), "gpt-4");
78 }
79
80 #[test]
81 fn test_model_retrieval_builder_with_string() {
82 let model = "gpt-3.5-turbo".to_string();
83 let builder = ModelRetrievalBuilder::new(model);
84 assert_eq!(builder.model_id(), "gpt-3.5-turbo");
85 }
86
87 #[test]
88 fn test_model_delete_builder() {
89 let builder = ModelDeleteBuilder::new("ft:gpt-3.5-turbo:my-org:custom:id");
90 assert_eq!(builder.model_id(), "ft:gpt-3.5-turbo:my-org:custom:id");
91 }
92
93 #[test]
94 fn test_model_delete_builder_with_string() {
95 let model = "ft:gpt-4:org:suffix:123".to_string();
96 let builder = ModelDeleteBuilder::new(model);
97 assert_eq!(builder.model_id(), "ft:gpt-4:org:suffix:123");
98 }
99}