#[derive(Debug, Clone)]
pub struct ModelRetrievalBuilder {
model_id: String,
}
impl ModelRetrievalBuilder {
#[must_use]
pub fn new(model_id: impl Into<String>) -> Self {
Self {
model_id: model_id.into(),
}
}
#[must_use]
pub fn model_id(&self) -> &str {
&self.model_id
}
}
#[derive(Debug, Clone)]
pub struct ModelDeleteBuilder {
model_id: String,
}
impl ModelDeleteBuilder {
#[must_use]
pub fn new(model_id: impl Into<String>) -> Self {
Self {
model_id: model_id.into(),
}
}
#[must_use]
pub fn model_id(&self) -> &str {
&self.model_id
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_model_retrieval_builder() {
let builder = ModelRetrievalBuilder::new("gpt-4");
assert_eq!(builder.model_id(), "gpt-4");
}
#[test]
fn test_model_retrieval_builder_with_string() {
let model = "gpt-3.5-turbo".to_string();
let builder = ModelRetrievalBuilder::new(model);
assert_eq!(builder.model_id(), "gpt-3.5-turbo");
}
#[test]
fn test_model_delete_builder() {
let builder = ModelDeleteBuilder::new("ft:gpt-3.5-turbo:my-org:custom:id");
assert_eq!(builder.model_id(), "ft:gpt-3.5-turbo:my-org:custom:id");
}
#[test]
fn test_model_delete_builder_with_string() {
let model = "ft:gpt-4:org:suffix:123".to_string();
let builder = ModelDeleteBuilder::new(model);
assert_eq!(builder.model_id(), "ft:gpt-4:org:suffix:123");
}
}