Skip to main content

ModelCatalogTrait

Trait ModelCatalogTrait 

Source
pub trait ModelCatalogTrait: Send + Sync {
    // Required methods
    fn register(
        &self,
        model_id: ModelId,
        node_id: NodeId,
        region_id: RegionId,
        capabilities: Vec<Capability>,
    ) -> BoxFuture<'_, FederationResult<()>>;
    fn deregister(
        &self,
        model_id: ModelId,
        node_id: NodeId,
    ) -> BoxFuture<'_, FederationResult<()>>;
    fn find_by_capability(
        &self,
        capability: &Capability,
    ) -> BoxFuture<'_, FederationResult<Vec<(NodeId, RegionId)>>>;
    fn list_all(&self) -> BoxFuture<'_, FederationResult<Vec<ModelId>>>;
    fn get_metadata(
        &self,
        model_id: &ModelId,
    ) -> BoxFuture<'_, FederationResult<ModelMetadata>>;
}
Expand description

Model catalog - tracks available models across the federation

Required Methods§

Source

fn register( &self, model_id: ModelId, node_id: NodeId, region_id: RegionId, capabilities: Vec<Capability>, ) -> BoxFuture<'_, FederationResult<()>>

Register a model instance

Source

fn deregister( &self, model_id: ModelId, node_id: NodeId, ) -> BoxFuture<'_, FederationResult<()>>

Deregister a model instance

Source

fn find_by_capability( &self, capability: &Capability, ) -> BoxFuture<'_, FederationResult<Vec<(NodeId, RegionId)>>>

Find nodes with a specific capability

Source

fn list_all(&self) -> BoxFuture<'_, FederationResult<Vec<ModelId>>>

List all registered models

Source

fn get_metadata( &self, model_id: &ModelId, ) -> BoxFuture<'_, FederationResult<ModelMetadata>>

Get model metadata

Implementors§