lm_studio_api_extended/embedding/
embed_request.rs1use crate::{prelude::*, EmbeddingInput};
6use super::{ EmbeddingModel };
7
8
9#[derive(Debug, Clone, Serialize)]
10pub struct EmbeddingRequest {
11 pub model: EmbeddingModel,
14
15 pub input: EmbeddingInput,
17
18 #[serde(skip_serializing_if = "Option::is_none")]
21 pub encoding_format: Option<String>,
22}
23
24impl ::std::default::Default for EmbeddingRequest {
28 fn default() -> Self {
29 Self {
30 model: EmbeddingModel::Custom("".into()),
31 input: EmbeddingInput::from("Rust is magic."),
32 encoding_format: Some("float".to_string())
33 }
34 }
35}
36
37impl EmbeddingRequest {
38 pub fn make_sendable(&self, input: EmbeddingInput) -> Vec<String> {
39 match input {
40 EmbeddingInput::Sentence(s) => vec![s],
41 EmbeddingInput::Sentences(ss) => ss
42 }
43 }
44}