use serde::{Deserialize, Serialize}; /// Whether the input is a document (no prefix) or a query (instruction prefix). #[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)] #[serde(rename_all = "lowercase")] pub enum InputKind { Document, Query, } /// Client-facing JSON body for POST /embed. #[derive(Debug, Clone, Deserialize, Serialize)] pub struct EmbedRequest { pub texts: Vec, pub input_type: InputKind, /// Optional model size. Only "0.6B" is supported; anything else is rejected. #[serde(default, skip_serializing_if = "Option::is_none")] pub size: Option, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct EmbedResponse { pub vectors: Vec>, pub dim: usize, pub model: String, }