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§
Sourcefn register(
&self,
model_id: ModelId,
node_id: NodeId,
region_id: RegionId,
capabilities: Vec<Capability>,
) -> BoxFuture<'_, FederationResult<()>>
fn register( &self, model_id: ModelId, node_id: NodeId, region_id: RegionId, capabilities: Vec<Capability>, ) -> BoxFuture<'_, FederationResult<()>>
Register a model instance
Sourcefn deregister(
&self,
model_id: ModelId,
node_id: NodeId,
) -> BoxFuture<'_, FederationResult<()>>
fn deregister( &self, model_id: ModelId, node_id: NodeId, ) -> BoxFuture<'_, FederationResult<()>>
Deregister a model instance
Sourcefn find_by_capability(
&self,
capability: &Capability,
) -> BoxFuture<'_, FederationResult<Vec<(NodeId, RegionId)>>>
fn find_by_capability( &self, capability: &Capability, ) -> BoxFuture<'_, FederationResult<Vec<(NodeId, RegionId)>>>
Find nodes with a specific capability
Sourcefn get_metadata(
&self,
model_id: &ModelId,
) -> BoxFuture<'_, FederationResult<ModelMetadata>>
fn get_metadata( &self, model_id: &ModelId, ) -> BoxFuture<'_, FederationResult<ModelMetadata>>
Get model metadata