pub struct ModelRegistry { /* private fields */ }Expand description
Model registry for managing model lifecycle
Implementations§
Source§impl ModelRegistry
impl ModelRegistry
Sourcepub async fn register_model(
&self,
name: String,
model_type: String,
owner: String,
description: String,
) -> Result<Uuid>
pub async fn register_model( &self, name: String, model_type: String, owner: String, description: String, ) -> Result<Uuid>
Register a new model
Sourcepub async fn register_version(
&self,
model_id: Uuid,
version_number: String,
created_by: String,
description: String,
config: ModelConfig,
metrics: HashMap<String, f64>,
) -> Result<Uuid>
pub async fn register_version( &self, model_id: Uuid, version_number: String, created_by: String, description: String, config: ModelConfig, metrics: HashMap<String, f64>, ) -> Result<Uuid>
Register a new model version
Sourcepub async fn deploy_version(
&self,
version_id: Uuid,
resource_allocation: ResourceAllocation,
) -> Result<Uuid>
pub async fn deploy_version( &self, version_id: Uuid, resource_allocation: ResourceAllocation, ) -> Result<Uuid>
Deploy a model version
Sourcepub async fn promote_to_production(&self, version_id: Uuid) -> Result<()>
pub async fn promote_to_production(&self, version_id: Uuid) -> Result<()>
Promote version to production
Sourcepub async fn create_ab_test(
&self,
name: String,
description: String,
version_a: Uuid,
version_b: Uuid,
traffic_split: f32,
duration_hours: Option<u32>,
) -> Result<Uuid>
pub async fn create_ab_test( &self, name: String, description: String, version_a: Uuid, version_b: Uuid, traffic_split: f32, duration_hours: Option<u32>, ) -> Result<Uuid>
Create A/B test
Sourcepub async fn record_performance(
&self,
version_id: Uuid,
metrics: PerformanceMetrics,
) -> Result<()>
pub async fn record_performance( &self, version_id: Uuid, metrics: PerformanceMetrics, ) -> Result<()>
Record performance metrics
Sourcepub async fn get_model(&self, model_id: Uuid) -> Result<ModelMetadata>
pub async fn get_model(&self, model_id: Uuid) -> Result<ModelMetadata>
Get model metadata
Sourcepub async fn get_version(&self, version_id: Uuid) -> Result<ModelVersion>
pub async fn get_version(&self, version_id: Uuid) -> Result<ModelVersion>
Get version info
Sourcepub async fn get_deployment(
&self,
deployment_id: Uuid,
) -> Result<ModelDeployment>
pub async fn get_deployment( &self, deployment_id: Uuid, ) -> Result<ModelDeployment>
Get deployment info
Sourcepub async fn get_performance_history(
&self,
version_id: Uuid,
limit: Option<usize>,
) -> Result<Vec<PerformanceMetrics>>
pub async fn get_performance_history( &self, version_id: Uuid, limit: Option<usize>, ) -> Result<Vec<PerformanceMetrics>>
Get performance history
Sourcepub async fn rollback_deployment(&self, deployment_id: Uuid) -> Result<()>
pub async fn rollback_deployment(&self, deployment_id: Uuid) -> Result<()>
Rollback deployment
Sourcepub async fn list_models(&self) -> Vec<ModelMetadata>
pub async fn list_models(&self) -> Vec<ModelMetadata>
List all models
Sourcepub async fn list_versions(&self, model_id: Uuid) -> Result<Vec<ModelVersion>>
pub async fn list_versions(&self, model_id: Uuid) -> Result<Vec<ModelVersion>>
List versions for a model
Sourcepub async fn get_active_ab_tests(&self) -> Vec<ABTestConfig>
pub async fn get_active_ab_tests(&self) -> Vec<ABTestConfig>
Get active A/B tests
Sourcepub async fn end_ab_test(&self, test_id: Uuid) -> Result<()>
pub async fn end_ab_test(&self, test_id: Uuid) -> Result<()>
End A/B test
Auto Trait Implementations§
impl Freeze for ModelRegistry
impl !RefUnwindSafe for ModelRegistry
impl Send for ModelRegistry
impl Sync for ModelRegistry
impl Unpin for ModelRegistry
impl !UnwindSafe for ModelRegistry
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Casts the value.
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.