Skip to main content

Crate semtree_embed

Crate semtree_embed 

Source
Expand description

Text-embedding abstraction for semtree.

One trait - Embedder - with swappable backends behind feature flags, so the rest of the pipeline never hard-codes an embedding provider:

BackendFeatureType
fastembed (local ONNX, default)fastembed-backendfastembed::FastEmbedder
OpenAIopenai-backendopenai::OpenAIEmbedder
Ollamaollama-backendollama::OllamaEmbedder

Implement Embedder to plug in any model:

use async_trait::async_trait;
use semtree_embed::{Embedder, Embedding, EmbedError};

struct Zeros;

#[async_trait]
impl Embedder for Zeros {
    async fn embed(&self, texts: &[&str]) -> Result<Vec<Embedding>, EmbedError> {
        Ok(texts.iter().map(|_| vec![0.0; 384]).collect())
    }
}

Modules§

fastembed

Enums§

EmbedError

Traits§

Embedder

Type Aliases§

Embedding