smelt-memory 0.1.0

Contextual memory system for Smelt semantic version control
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Embedder trait definition

use crate::error::MemoryResult;

/// Trait for generating text embeddings
pub trait Embedder: Send + Sync {
    /// Get the embedding dimension
    fn dimension(&self) -> usize;

    /// Generate an embedding for a single text
    fn embed(&self, text: &str) -> MemoryResult<Vec<f32>>;

    /// Generate embeddings for multiple texts (may be more efficient)
    fn embed_batch(&self, texts: &[&str]) -> MemoryResult<Vec<Vec<f32>>> {
        texts.iter().map(|t| self.embed(t)).collect()
    }
}