Expand description
Embedding Provider Trait - Unified Interface for Text Embeddings
TigerStyle: Simulation-first embedding generation.
See ADR-019 for design rationale.
§Architecture
EmbeddingProvider (trait)
├── SimEmbeddingProvider (always available, deterministic)
└── OpenAIEmbeddingProvider (feature: embedding-openai)§Usage
use umi_memory::embedding::{EmbeddingProvider, SimEmbeddingProvider};
#[tokio::main]
async fn main() {
// Simulation (always available, deterministic)
let provider = SimEmbeddingProvider::with_seed(42);
let embedding = provider.embed("Alice works at Acme").await.unwrap();
println!("Generated {} dimensional embedding", embedding.len());
}Structs§
- SimEmbedding
Provider - In-memory embedding provider for deterministic simulation testing.
Enums§
- Embedding
Error - Unified error type for all embedding providers.
Traits§
- Embedding
Provider - Trait for embedding providers.
Functions§
- is_
normalized - Check if a vector is normalized (L2 norm ≈ 1.0).
- normalize_
vector - Normalize a vector to unit length (L2 norm = 1).
- validate_
dimensions - Validate that an embedding has the expected dimensions.