pinecone-sdk 0.1.2

Pinecone Rust SDK
Documentation
use super::{Embedding, EmbeddingsListUsage};
use crate::openapi::models::EmbeddingsList as OpenApiEmbeddingsList;

/// EmbeddingsList : Embeddings generated for the input
#[derive(Clone, Default, Debug, PartialEq)]
pub struct EmbeddingsList {
    /// The model used to generate the embeddings.
    pub model: String,
    /// The embeddings generated by the model.
    pub data: Vec<Embedding>,
    /// The total number of tokens processed.
    pub usage: EmbeddingsListUsage,
}

impl From<OpenApiEmbeddingsList> for EmbeddingsList {
    fn from(openapi_model: OpenApiEmbeddingsList) -> Self {
        EmbeddingsList {
            model: openapi_model.model.unwrap_or_default(),
            data: openapi_model
                .data
                .unwrap_or_default()
                .into_iter()
                .map(|x| x.into())
                .collect(),
            usage: (*openapi_model.usage.unwrap_or_default()).into(),
        }
    }
}