car_inference/tasks/embed.rs
1//! Embedding types for semantic similarity via Qwen3-Embedding.
2//!
3//! The actual embedding logic lives in `backend::EmbeddingBackend`.
4//! This module defines the request type used by `InferenceEngine::embed()`.
5
6use serde::{Deserialize, Serialize};
7
8/// An embedding request.
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct EmbedRequest {
11 /// Texts to embed.
12 pub texts: Vec<String>,
13 /// Reserved for API compatibility. The embedding model is always used.
14 #[serde(default)]
15 pub model: Option<String>,
16 /// Optional instruction for query-side embedding (Qwen3-Embedding format).
17 /// Default: "Retrieve relevant memory facts"
18 #[serde(default)]
19 pub instruction: Option<String>,
20 /// Whether these texts are queries (true) or documents (false).
21 /// Queries get the Instruct:/Query: prefix; documents are embedded raw.
22 #[serde(default)]
23 pub is_query: bool,
24}