pub struct ModelRegistrar {
model_repo: Arc<dyn ModelRepository>,
gguf_parser: Arc<dyn GgufParserPort>,
}Expand description
Implementation of the model registrar port.
This service composes over ModelRepository for persistence and
GgufParserPort for metadata extraction.
Fields§
§model_repo: Arc<dyn ModelRepository>Repository for persisting models.
gguf_parser: Arc<dyn GgufParserPort>Parser for extracting GGUF metadata.
Implementations§
Source§impl ModelRegistrar
impl ModelRegistrar
Sourcepub fn new(
model_repo: Arc<dyn ModelRepository>,
gguf_parser: Arc<dyn GgufParserPort>,
) -> Self
pub fn new( model_repo: Arc<dyn ModelRepository>, gguf_parser: Arc<dyn GgufParserPort>, ) -> Self
Create a new model registrar.
§Arguments
model_repo- Repository for persisting modelsgguf_parser- Parser for extracting GGUF metadata
Trait Implementations§
Source§impl ModelRegistrarPort for ModelRegistrar
impl ModelRegistrarPort for ModelRegistrar
Source§fn register_model<'life0, 'life1, 'async_trait>(
&'life0 self,
download: &'life1 CompletedDownload,
) -> Pin<Box<dyn Future<Output = Result<Model, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_model<'life0, 'life1, 'async_trait>(
&'life0 self,
download: &'life1 CompletedDownload,
) -> Pin<Box<dyn Future<Output = Result<Model, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a downloaded model in the database. Read more
Source§fn register_model_from_path<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
repo_id: &'life1 str,
commit_sha: &'life2 str,
file_path: &'life3 Path,
quantization: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<Model, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn register_model_from_path<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
repo_id: &'life1 str,
commit_sha: &'life2 str,
file_path: &'life3 Path,
quantization: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<Model, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Register a model using raw path parameters. Read more
Auto Trait Implementations§
impl Freeze for ModelRegistrar
impl !RefUnwindSafe for ModelRegistrar
impl Send for ModelRegistrar
impl Sync for ModelRegistrar
impl Unpin for ModelRegistrar
impl !UnwindSafe for ModelRegistrar
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more