Skip to main content

xz_embed/types/
batch.rs

1use serde::{Deserialize, Serialize};
2
3/// 批量嵌入请求
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct BatchEmbedRequest {
6    /// 文本列表
7    pub texts: Vec<String>,
8    /// 请求来源标签(用于日志/指标分组)
9    pub source: Option<String>,
10    /// 优先级(0 = 最低,255 = 最高)
11    pub priority: u8,
12}
13
14/// 批量嵌入响应
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct BatchEmbedResponse {
17    /// 生成的向量(顺序与 texts 一致)
18    pub vectors: Vec<Vec<f32>>,
19    /// 使用的模型名称
20    pub model: String,
21    /// 总 token 用量
22    pub total_tokens: u32,
23    /// 总延迟(毫秒)
24    pub latency_ms: u64,
25    /// 是否有文本被截断
26    pub truncated: Vec<bool>,
27}