pub trait ClusterEncoder: Send + Sync {
// Required methods
fn encode_cluster(
&self,
cluster: &LocalCluster,
hidden_states: Option<&[Vec<f32>]>,
) -> ClusterEmbedding;
fn embedding_dim(&self) -> usize;
// Provided method
fn encode_clusters(
&self,
clusters: &[LocalCluster],
hidden_states: Option<&[Vec<f32>]>,
) -> Vec<ClusterEmbedding> { ... }
}Expand description
Trait for encoding clusters into fixed-size embeddings.
Required Methods§
Sourcefn encode_cluster(
&self,
cluster: &LocalCluster,
hidden_states: Option<&[Vec<f32>]>,
) -> ClusterEmbedding
fn encode_cluster( &self, cluster: &LocalCluster, hidden_states: Option<&[Vec<f32>]>, ) -> ClusterEmbedding
Encode a single cluster into an embedding.
Sourcefn embedding_dim(&self) -> usize
fn embedding_dim(&self) -> usize
Expected embedding dimension.
Provided Methods§
Sourcefn encode_clusters(
&self,
clusters: &[LocalCluster],
hidden_states: Option<&[Vec<f32>]>,
) -> Vec<ClusterEmbedding>
fn encode_clusters( &self, clusters: &[LocalCluster], hidden_states: Option<&[Vec<f32>]>, ) -> Vec<ClusterEmbedding>
Encode multiple clusters (batch operation).
Trait Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl ClusterEncoder for HeuristicClusterEncoder
impl<E: CandleTextEncoder> ClusterEncoder for CandleClusterEncoder<E>
Available on crate feature
candle only.