Skip to main content

Crate uni_xervo

Crate uni_xervo 

Source
Expand description

Unified Rust runtime for local and remote embedding, reranking, and generation models.

Uni-Xervo provides a single, provider-agnostic API for loading and running ML models across a wide range of backends — from local inference engines (Candle, ONNX Runtime, mistral.rs) to remote API services (OpenAI, Gemini, Anthropic, Cohere, Mistral, Voyage AI, Vertex AI, Azure OpenAI), and raw ONNX graphs.

§Key concepts

§Quick start

use uni_xervo::api::{ModelAliasSpec, ModelTask};
use uni_xervo::runtime::ModelRuntime;
use uni_xervo::provider::candle::LocalCandleProvider;

let spec = ModelAliasSpec {
    alias: "embed/local".into(),
    task: ModelTask::Embed,
    provider_id: "local/candle".into(),
    model_id: "sentence-transformers/all-MiniLM-L6-v2".into(),
    revision: None,
    warmup: Default::default(),
    required: true,
    timeout: None,
    load_timeout: None,
    retry: None,
    options: serde_json::Value::Null,
};

let runtime = ModelRuntime::builder()
    .register_provider(LocalCandleProvider::new())
    .catalog(vec![spec])
    .build()
    .await?;

let model = runtime.embedding("embed/local").await?;
let embeddings = model.embed(&["Hello, world!"]).await?;
println!("dim: {}", embeddings.vectors[0].len());

Modules§

api
Public API types for configuring models, catalogs, and runtime behavior.
cache
Model and weight cache directory resolution.
error
Error types for the Uni-Xervo runtime.
prelude
Convenience re-exports for the common uni-xervo surface.
provider
Provider implementations for local and remote model backends.
reliability
Reliability primitives: circuit breaker, instrumented model wrappers with timeout and retry support, and metrics emission.
runtime
The core runtime that manages providers, catalogs, and loaded model instances.
score
Host-side similarity scoring for sparse and multi-vector embeddings.
traits
Core traits that every provider and model implementation must satisfy.