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, llama.cpp llama-server), 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.