use serde::{ Deserialize, Serialize };
use super::wire_types::ResponseMetadata;
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct InferenceOutput
{
pub generated_text : String,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub input_tokens : Option< u32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub generated_tokens : Option< u32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub metadata : Option< ResponseMetadata >,
}
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct BatchInferenceOutput
{
pub outputs : Vec< InferenceOutput >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub metadata : Option< ResponseMetadata >,
}
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct StreamToken
{
pub token : String,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub id : Option< u32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub logprob : Option< f32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub is_final : Option< bool >,
}
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct EmbeddingOutput
{
pub embedding : Vec< f32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub input_length : Option< u32 >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub metadata : Option< ResponseMetadata >,
}
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct BatchEmbeddingOutput
{
pub embeddings : Vec< EmbeddingOutput >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub metadata : Option< ResponseMetadata >,
}