Skip to main content

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}