Practical overview
When it fits
Use Turbovec when an application needs an embedding 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
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.
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
Install the package with pip install turbovec.
Create TurboQuantIndex with the embedding dimension and bit width.
Add the embedding arrays and call search with a query and k value.
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.
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
Create IdMapIndex and add vectors with external uint64 IDs.
Produce an allowlist of candidate IDs using an external system.
Call search with the query, k, and allowlist.
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.
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

