Turbovec
Build Your Own AI Employee. The complete starter kit for OpenClaw + Hermes Agent. 155 deduplicated skills, drag-and-drop workspace, case studies, install scripts.
npx -y skills add S3YED/appie-kit --skill turbovecAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Local vector search with turbovec (Google TurboQuant, Rust+Python). Use for embeddings indexing, semantic search, local RAG, or filtered vector retrieval without external services like Pinecone.
SKILL.md
1.9 KB, as published. Nobody here has run it
turbovec — local vector index
Rust vector index on Google's TurboQuant quantizer. 10M float32 docs (31GB) fit in ~4GB. Faster than FAISS. No train step: add vectors, they are indexed. Fully local — nothing leaves the machine.
Installation (v0.7.0)
pip install turbovec==0.7.0
Create a dedicated venv and install there; do not pip-install into a system Python.
API (v0.7.0 — differs from upstream README)
import numpy as np
from turbovec import TurboQuantIndex
idx = TurboQuantIndex(dim=1536, bit_width=4)
idx.add(vecs) # 2D float32, C-contiguous: np.ascontiguousarray(x.astype(np.float32))
scores, ids = idx.search(q, k=10) # q must be 2D (batch): vecs[7:8], not vecs[7]
# returns 2D arrays (one row per query)
mask = np.zeros(len(idx), dtype=bool) # filtered search: bool mask over slots
mask[allowed_slots] = True
scores, ids = idx.search(q, k=10, mask=mask)
idx.write("index.tq") # persistence round-trips exactly
idx = TurboQuantIndex.load("index.tq")
Gotchas:
- Queries MUST be 2D; a 1D vector raises
TypeError: 'ndarray' object cannot be cast as 'ndarray'. maskis a bool array of lengthlen(idx)(slot-based), not an id allowlist. The README'sIdMapIndex.add_with_ids/allowlist=API is newer than the 0.7.0 wheel.bit_width=4is the standard memory/recall tradeoff; pair with any local embedding model for an air-gapped RAG stack.
When to use
- Semantic search over local corpora (memory, knowledge base, transcripts)
- RAG retrieval where privacy/latency matters (no Pinecone round-trip)
- Hybrid retrieval: narrow candidates with SQL/BM25 first, then dense rerank via
mask