use crate::{prelude::*, EmbeddingInput};
use super::{ EmbeddingModel };
#[derive(Debug, Clone, Serialize)]
pub struct EmbeddingRequest {
pub model: EmbeddingModel,
pub input: EmbeddingInput,
#[serde(skip_serializing_if = "Option::is_none")]
pub encoding_format: Option<String>,
}
impl ::std::default::Default for EmbeddingRequest {
fn default() -> Self {
Self {
model: EmbeddingModel::Custom("".into()),
input: EmbeddingInput::from("Rust is magic."),
encoding_format: Some("float".to_string())
}
}
}
impl EmbeddingRequest {
pub fn make_sendable(&self, input: EmbeddingInput) -> Vec<String> {
match input {
EmbeddingInput::Sentence(s) => vec![s],
EmbeddingInput::Sentences(ss) => ss
}
}
}