#[ cfg( feature = "model_details" ) ]
mod private
{
use super::super::*;
#[ derive( Debug, Clone ) ]
pub struct ShowModelRequest
{
name : String,
verbose : bool,
template_info : bool,
parameters_info : bool,
system_info : bool,
}
impl ShowModelRequest
{
#[ inline ]
#[ must_use ]
pub fn new( name : impl Into< String > ) -> Self
{
Self
{
name : name.into(),
verbose : false,
template_info : false,
parameters_info : false,
system_info : false,
}
}
#[ inline ]
#[ must_use ]
pub fn with_verbose( mut self, verbose : bool ) -> Self
{
self.verbose = verbose;
self
}
#[ inline ]
#[ must_use ]
pub fn with_template_info( mut self, include : bool ) -> Self
{
self.template_info = include;
self
}
#[ inline ]
#[ must_use ]
pub fn with_parameters_info( mut self, include : bool ) -> Self
{
self.parameters_info = include;
self
}
#[ inline ]
#[ must_use ]
pub fn with_system_info( mut self, include : bool ) -> Self
{
self.system_info = include;
self
}
#[ inline ]
pub fn name( &self ) -> &str
{
&self.name
}
}
#[ derive( Debug, Clone ) ]
pub struct PullModelRequest
{
name : String,
insecure : bool,
progress_tracking : bool,
}
impl PullModelRequest
{
#[ inline ]
#[ must_use ]
pub fn new( name : impl Into< String > ) -> Self
{
Self
{
name : name.into(),
insecure : false,
progress_tracking : false,
}
}
#[ inline ]
#[ must_use ]
pub fn with_insecure( mut self, insecure : bool ) -> Self
{
self.insecure = insecure;
self
}
#[ inline ]
#[ must_use ]
pub fn with_progress_tracking( mut self, tracking : bool ) -> Self
{
self.progress_tracking = tracking;
self
}
#[ inline ]
pub fn name( &self ) -> &str
{
&self.name
}
}
#[ derive( Debug, Clone ) ]
pub struct PushModelRequest
{
name : String,
insecure : bool,
progress_tracking : bool,
}
impl PushModelRequest
{
#[ inline ]
#[ must_use ]
pub fn new( name : impl Into< String > ) -> Self
{
Self
{
name : name.into(),
insecure : false,
progress_tracking : false,
}
}
#[ inline ]
#[ must_use ]
pub fn with_insecure( mut self, insecure : bool ) -> Self
{
self.insecure = insecure;
self
}
#[ inline ]
#[ must_use ]
pub fn with_progress_tracking( mut self, tracking : bool ) -> Self
{
self.progress_tracking = tracking;
self
}
#[ inline ]
pub fn name( &self ) -> &str
{
&self.name
}
}
#[ derive( Debug, Clone ) ]
pub struct DeleteModelRequest
{
name : String,
}
impl DeleteModelRequest
{
#[ inline ]
#[ must_use ]
pub fn new( name : impl Into< String > ) -> Self
{
Self
{
name : name.into(),
}
}
#[ inline ]
pub fn name( &self ) -> &str
{
&self.name
}
}
#[ derive( Debug, Clone ) ]
pub struct ModelProgressUpdate
{
pub completed : u64,
pub total : u64,
}
pub type ModelProgressStream = std::pin::Pin< Box< dyn futures_core::Stream< Item = OllamaResult< ModelProgressUpdate > > + Send > >;
}
#[ cfg( feature = "model_details" ) ]
crate ::mod_interface!
{
exposed use
{
ShowModelRequest,
PullModelRequest,
PushModelRequest,
DeleteModelRequest,
ModelProgressUpdate,
ModelProgressStream,
};
}