Catalogue/Outils dev/VectLite

VectLite

Une base vectorielle embarquée, dans un seul fichier.

Base de données vectorielle single-file écrite en Rust. Recherche hybride dense et sparse, indexation HNSW, filtres façon MongoDB, transactions et persistance crash-safe. Le tout dans un fichier .vdb portable : aucun serveur, aucun Docker, aucun appel réseau.

v0.1.11Version
RustCœur
Python · Node.jsBindings
MITLicence
Ce que contient l'édition

La recherche vectorielle, sans serveur.

No.01

Recherche hybride

Vecteurs denses avec HNSW et index BM25 pour les mots-clés, fusionnés par combinaison linéaire ou RRF.

No.02

Stockage single-file

Tout dans un fichier .vdb portable. WAL crash-safe, verrouillage de fichier, snapshots et backup.

No.03

Filtres metadata riches

Opérateurs façon MongoDB ($eq, $gt, $in, $contains, $exists) avec accès aux champs imbriqués.

No.04

Multi-langage

Cœur Rust natif avec bindings Python (PyO3) et Node.js (napi-rs). Une seule installation.

Pourquoi VectLite ?

Les bases vectorielles modernes sont conçues comme des serveurs distribués : Pinecone, Weaviate, Qdrant. C'est la bonne réponse à grande échelle, mais une surcouche inutile pour une application locale, une démo, un outil edge ou un agent qui tourne sur le poste de l'utilisateur.

VectLite reprend le modèle de SQLite et l'applique aux vecteurs : une bibliothèque, un fichier, zéro serveur. Écrit en Rust pour la performance et la sûreté, avec recherche hybride, transactions ACID, persistance crash-safe et bindings Python et Node.js. La base vectorielle qui tient dans votre application.

En bref
Qu'est-ce que VectLite ?

VectLite est une base de données vectorielle embarquée, single-file, écrite en Rust. Elle s'exécute directement dans une application Python ou Node.js, sans serveur ni Docker. Elle combine recherche dense HNSW et recherche sparse BM25, des filtres façon MongoDB, des transactions ACID et une persistance crash-safe, le tout dans un fichier .vdb portable. Sous licence MIT.

Questions fréquentes

Tout ce qu'on nous demande.

VectLite est-il une alternative à Pinecone, Weaviate ou Chroma ?
Oui. VectLite est une base vectorielle embarquée single-file, sur le modèle de SQLite, écrite en Rust. Contrairement à Pinecone, Weaviate ou Qdrant qui sont des serveurs distribués, VectLite tourne directement dans votre application Python ou Node.js, idéal pour le local-first et l'edge.
VectLite supporte-t-il la recherche hybride ?
Oui. VectLite combine un index dense HNSW et un index sparse BM25 pour la recherche hybride, avec des filtres façon MongoDB sur les métadonnées.
Quelle est la différence entre VectLite et FAISS ?
FAISS est une bibliothèque d'indexation pure, sans persistance ni transactions. VectLite ajoute la persistance crash-safe, les transactions ACID, les filtres MongoDB et les bindings Python et Node.js, en une seule installation.

Embarquez la recherche vectorielle.

Open source, sous licence MIT. Disponible sur PyPI et npm, une seule installation.

En bref

Qu'est-ce que VectLite et comment fonctionne-t-il ?

VectLite est une base de données vectorielle embarquée écrite en Rust, conçue sur le modèle de SQLite : un fichier unique sur disque, aucun serveur à déployer, exécution directe dans le processus de l'application. Elle expose des bindings officiels pour Python et Node.js, ce qui permet de l'intégrer dans une application web, un agent IA ou un script de RAG (Retrieval-Augmented Generation) en moins de 5 lignes de code. VectLite combine 2 index dans le même fichier : un index dense HNSW (Hierarchical Navigable Small World) pour les recherches sémantiques par embeddings, et un index sparse BM25 pour les recherches par mots-clés. Une requête hybride pèse les 2 scores via une fusion RRF (Reciprocal Rank Fusion) et retourne les résultats en moins de 5 millisecondes pour 100 000 vecteurs.

Pourquoi choisir VectLite plutôt que Pinecone ou Chroma ?

Pinecone, Weaviate, Qdrant et Milvus sont des bases vectorielles serveur, conçues pour des charges distribuées de plusieurs millions de vecteurs et facturées entre 70 $ et 500 $ par mois pour les plus petites instances. VectLite cible un cas d'usage différent : applications local-first, edge computing, RAG embarqué dans une app desktop ou mobile, ou prototype où le coût d'un service hébergé est disproportionné. La taille typique d'une base VectLite va de 1 000 à 1 million de vecteurs en 768 ou 1 536 dimensions, soit la majorité des cas d'usage individuels et professionnels modestes. VectLite supporte les transactions ACID, la persistance crash-safe via journal d'écriture anticipée, et les filtres de métadonnées style MongoDB. La bibliothèque est distribuée sous licence MIT, gratuite, sans télémétrie.

Questions fréquentes

VectLite est-il une alternative à Pinecone, Weaviate ou Chroma ?

Oui. VectLite est une base vectorielle embarquée single-file (modèle SQLite) écrite en Rust. Contrairement à Pinecone, Weaviate ou Qdrant qui sont des serveurs distribués, VectLite tourne directement dans votre application Python ou Node.js — idéal pour le local-first et l'edge.

VectLite supporte-t-il la recherche hybride ?

Oui. VectLite combine un index dense HNSW et un index sparse BM25 pour la recherche hybride, avec des filtres style MongoDB sur les métadonnées.

Quelle est la différence entre VectLite et FAISS ?

FAISS est une bibliothèque d'indexation pure (pas de persistance ni transactions). VectLite ajoute la persistance crash-safe, les transactions ACID, les filtres MongoDB et les bindings Python/Node.js avec une seule installation.

VectLite — Base vectorielle embarquée pour l'IA local-first | mcsEdition