zai_rs/model/text_embedded/
response.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct EmbeddingResponse {
5 pub model: String,
6 pub object: ResponseObjectKind,
7 pub data: Vec<EmbeddingData>,
8 pub usage: EmbeddingUsage,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12#[serde(rename_all = "lowercase")]
13pub enum ResponseObjectKind {
14 List,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct EmbeddingData {
19 pub index: usize,
20 pub object: EmbeddingObjectKind,
21 pub embedding: Vec<f32>,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25#[serde(rename_all = "lowercase")]
26pub enum EmbeddingObjectKind {
27 Embedding,
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize)]
31pub struct EmbeddingUsage {
32 pub prompt_tokens: u64,
33 pub completion_tokens: u64,
34 pub total_tokens: u64,
35}