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}