Skip to main content

Module engine

Module engine 

Source
Expand description

Core embedding engine for generating vector embeddings from text.

The EmbeddingEngine provides a high-level interface for:

  • Loading ONNX INT8 embedding models from HuggingFace Hub
  • Generating embeddings for single texts or batches
  • Automatic batching and parallel processing via ONNX Runtime

§Example

use inference::{EmbeddingEngine, ModelConfig, EmbeddingModel};

#[tokio::main]
async fn main() {
    let config = ModelConfig::new(EmbeddingModel::MiniLM);
    let engine = EmbeddingEngine::new(config).await.unwrap();

    // Embed a single query
    let embedding = engine.embed_query("What is machine learning?").await.unwrap();
    println!("Embedding dimension: {}", embedding.len());

    // Embed multiple documents
    let docs = vec![
        "Machine learning is a subset of AI.".to_string(),
        "Deep learning uses neural networks.".to_string(),
    ];
    let embeddings = engine.embed_documents(&docs).await.unwrap();
    println!("Generated {} embeddings", embeddings.len());
}

Structs§

EmbeddingEngine
The main embedding engine for generating vector embeddings.
EmbeddingEngineBuilder
Builder for creating an EmbeddingEngine with fluent API.