OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Infrastructure & Serving

Turbovec

Turbovec is an open-source Rust vector-index library with Python bindings. It applies TurboQuant to embedding storage and nearest-neighbor search, with online ingestion and SIMD kernels for ARM and x86 processors.

Independent OpenViST project profile, based on linked sources.

Turbovec — OpenViST project profile in AI Infrastructure & Serving.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Turbovec when an application needs an embedd­­ing index that can ingest online, run locally, and expose Rust or Python interfaces. Its documented filtering and persistence features are relevant to RAG and other retrieval pipelines with changing corpora or candidate restrictions.

Who it is for

  • Developers building local or self-hosted embedding search
  • Teams implementing retrieval-augmented generation systems
  • Rust developers needing a vector index
  • Python developers seeking a Rust-backed search component

Documented uses

  • Store embedding vectors with reduced memory usage
  • Search growing collections without a separate training step
  • Persist vector indexes through full snapshots or incremental sync
  • Rerank an externally selected candidate set with dense vectors
  • Maintain stable external IDs across deletions
Before you choose

Requirements & limits

The repository is publicly visible, MIT-licensed, and documented for Linux, macOS, Windows, and self-hosted use. Python and Rust installation paths are provided through PyPI and Cargo.

  • Choose the Python or Rust interface based on the host application’s ecosystem.
  • Use TurboQuantIndex for vector-position results or IdMapIndex when stable external IDs and deletion are required.
  • Check that supplied arrays are two-dimensional float32 data with the intended embedding dimension.
  • Use sync for documented incremental persistence and write/load for whole-file snapshots.
  • Use allowlist filtering when another system has already narrowed the candidate set.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install Turbovec and create a persistent Python index

Set up a Python vector index, add float32 embeddings, search it, and save or reload the index.

Before you start

  • Python installation
  • The turbovec package
  • Two-dimensional float32 embedding arrays with a consistent dimension

Steps

  1. Install the package with pip install turbovec.

  2. Create TurboQuantIndex with the embedding dimension and bit width.

  3. Add the embedding arrays and call search with a query and k value.

  4. Persist the index with write(path), then reload it with TurboQuantIndex.load(path).

Expected outcome

A searchable Python vector index with a whole-file snapshot that can be loaded again.

Guide limitations

  • The documented Python input format is two-dimensional float32 arrays; other data types are rejected.
  • The example uses a fixed dimension and bit width, so those values must match the data and intended configuration.
Source-based practical guide

Build filtered retrieval with stable external IDs

Search only within an externally selected candidate set and retain identifiers through deletion and persistence.

Before you start

  • The turbovec Python package
  • Two-dimensional float32 embeddings
  • External uint64 identifiers
  • A candidate-ID set produced by another system

Steps

  1. Create IdMapIndex and add vectors with external uint64 IDs.

  2. Produce an allowlist of candidate IDs using an external system.

  3. Call search with the query, k, and allowlist.

  4. Remove an ID when required, then persist with write or sync.

Expected outcome

Search results are restricted to the allowed vectors and returned with external IDs; the documented output length is the smaller of k and the number of distinct allowed vectors.

Guide limitations

  • Candidate selection is performed by the external system; Turbovec documents the search restriction rather than the preceding database or retrieval workflow.
  • The examples use uint64 identifiers and float32 arrays.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
30 September 2026
Original website title
RyanCodrai/turbovec · Official homepage title · retained in its source language