Skip to main content

zai_rs/model/text_embedded/
response.rs

1use 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}