pub struct ComponentRegistry { /* private fields */ }Expand description
Global component registry for managing component factories
Implementations§
Source§impl ComponentRegistry
impl ComponentRegistry
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create a registry with all default factories pre-registered
Sourcepub fn register_defaults(&self)
pub fn register_defaults(&self)
Register all default component factories
Sourcepub fn register_tokenizer_factory(
&self,
name: impl Into<String>,
factory: Arc<dyn ComponentFactory<Arc<dyn Tokenizer + Send + Sync>>>,
)
pub fn register_tokenizer_factory( &self, name: impl Into<String>, factory: Arc<dyn ComponentFactory<Arc<dyn Tokenizer + Send + Sync>>>, )
Register a tokenizer factory
Sourcepub fn register_sampler_factory(
&self,
name: impl Into<String>,
factory: Arc<dyn ComponentFactory<Arc<dyn Sampler + Send + Sync>>>,
)
pub fn register_sampler_factory( &self, name: impl Into<String>, factory: Arc<dyn ComponentFactory<Arc<dyn Sampler + Send + Sync>>>, )
Register a sampler factory
Sourcepub fn register_scheduler_factory(
&self,
name: impl Into<String>,
factory: Arc<dyn ComponentFactory<Arc<dyn Scheduler + Send + Sync>>>,
)
pub fn register_scheduler_factory( &self, name: impl Into<String>, factory: Arc<dyn ComponentFactory<Arc<dyn Scheduler + Send + Sync>>>, )
Register a scheduler factory
Sourcepub fn register_kv_cache_factory(
&self,
name: impl Into<String>,
factory: Arc<dyn ComponentFactory<Arc<dyn KvCacheManager + Send + Sync>>>,
)
pub fn register_kv_cache_factory( &self, name: impl Into<String>, factory: Arc<dyn ComponentFactory<Arc<dyn KvCacheManager + Send + Sync>>>, )
Register a KV cache factory
Sourcepub fn register_executor_factory(
&self,
name: impl Into<String>,
factory: Arc<dyn ComponentFactory<Arc<dyn ModelExecutor + Send + Sync>>>,
)
pub fn register_executor_factory( &self, name: impl Into<String>, factory: Arc<dyn ComponentFactory<Arc<dyn ModelExecutor + Send + Sync>>>, )
Register a model executor factory
Sourcepub fn get_tokenizer_factory(
&self,
name: &str,
) -> Option<Arc<dyn ComponentFactory<Arc<dyn Tokenizer + Send + Sync>>>>
pub fn get_tokenizer_factory( &self, name: &str, ) -> Option<Arc<dyn ComponentFactory<Arc<dyn Tokenizer + Send + Sync>>>>
Get a tokenizer factory by name
Sourcepub fn get_sampler_factory(
&self,
name: &str,
) -> Option<Arc<dyn ComponentFactory<Arc<dyn Sampler + Send + Sync>>>>
pub fn get_sampler_factory( &self, name: &str, ) -> Option<Arc<dyn ComponentFactory<Arc<dyn Sampler + Send + Sync>>>>
Get a sampler factory by name
Sourcepub fn get_scheduler_factory(
&self,
name: &str,
) -> Option<Arc<dyn ComponentFactory<Arc<dyn Scheduler + Send + Sync>>>>
pub fn get_scheduler_factory( &self, name: &str, ) -> Option<Arc<dyn ComponentFactory<Arc<dyn Scheduler + Send + Sync>>>>
Get a scheduler factory by name
Sourcepub fn get_kv_cache_factory(
&self,
name: &str,
) -> Option<Arc<dyn ComponentFactory<Arc<dyn KvCacheManager + Send + Sync>>>>
pub fn get_kv_cache_factory( &self, name: &str, ) -> Option<Arc<dyn ComponentFactory<Arc<dyn KvCacheManager + Send + Sync>>>>
Get a KV cache factory by name
Sourcepub fn get_executor_factory(
&self,
name: &str,
) -> Option<Arc<dyn ComponentFactory<Arc<dyn ModelExecutor + Send + Sync>>>>
pub fn get_executor_factory( &self, name: &str, ) -> Option<Arc<dyn ComponentFactory<Arc<dyn ModelExecutor + Send + Sync>>>>
Get a model executor factory by name
Sourcepub fn list_tokenizers(&self) -> Vec<String>
pub fn list_tokenizers(&self) -> Vec<String>
List all registered tokenizer names
Sourcepub fn list_samplers(&self) -> Vec<String>
pub fn list_samplers(&self) -> Vec<String>
List all registered sampler names
Sourcepub fn list_schedulers(&self) -> Vec<String>
pub fn list_schedulers(&self) -> Vec<String>
List all registered scheduler names
Sourcepub fn list_kv_caches(&self) -> Vec<String>
pub fn list_kv_caches(&self) -> Vec<String>
List all registered KV cache names
Sourcepub fn list_executors(&self) -> Vec<String>
pub fn list_executors(&self) -> Vec<String>
List all registered executor names
Sourcepub async fn create_tokenizer(
&self,
name: &str,
config: &ComponentConfig,
) -> Result<Arc<dyn Tokenizer + Send + Sync>>
pub async fn create_tokenizer( &self, name: &str, config: &ComponentConfig, ) -> Result<Arc<dyn Tokenizer + Send + Sync>>
Create a tokenizer by name
Sourcepub async fn create_sampler(
&self,
name: &str,
config: &ComponentConfig,
) -> Result<Arc<dyn Sampler + Send + Sync>>
pub async fn create_sampler( &self, name: &str, config: &ComponentConfig, ) -> Result<Arc<dyn Sampler + Send + Sync>>
Create a sampler by name
Sourcepub async fn create_scheduler(
&self,
name: &str,
config: &ComponentConfig,
) -> Result<Arc<dyn Scheduler + Send + Sync>>
pub async fn create_scheduler( &self, name: &str, config: &ComponentConfig, ) -> Result<Arc<dyn Scheduler + Send + Sync>>
Create a scheduler by name
Sourcepub async fn create_kv_cache(
&self,
name: &str,
config: &ComponentConfig,
) -> Result<Arc<dyn KvCacheManager + Send + Sync>>
pub async fn create_kv_cache( &self, name: &str, config: &ComponentConfig, ) -> Result<Arc<dyn KvCacheManager + Send + Sync>>
Create a KV cache manager by name
Sourcepub async fn create_executor(
&self,
name: &str,
config: &ComponentConfig,
) -> Result<Arc<dyn ModelExecutor + Send + Sync>>
pub async fn create_executor( &self, name: &str, config: &ComponentConfig, ) -> Result<Arc<dyn ModelExecutor + Send + Sync>>
Create a model executor by name
Trait Implementations§
Source§impl Debug for ComponentRegistry
impl Debug for ComponentRegistry
Auto Trait Implementations§
impl !Freeze for ComponentRegistry
impl !RefUnwindSafe for ComponentRegistry
impl !UnwindSafe for ComponentRegistry
impl Send for ComponentRegistry
impl Sync for ComponentRegistry
impl Unpin for ComponentRegistry
impl UnsafeUnpin for ComponentRegistry
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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 more