Bases de données : la bataille de la recherche vectorielle

recherche vectorielle

MongoDB, Neo4j, Redis… Avec l’essor des IA génératives, les fournisseurs de bases de données avancent l’argument de la recherche vectorielle.

Qui n’a pas sa fonctionnalité de recherche vectorielle ? Chez les fournisseurs de bases de données, les communications à ce sujet sont devenues une habitude avec le développement de l’IA générative.

Il y a quelques semaines, MongoDB faisait une annonce dans ce sens. La recherche vectorielle passait en preview publique sur son offre DBaaS Atlas. Les données préalablement vectorisées peuvent y être indexées, puis recherchées par la méthode des plus proches voisins (algorithme HNSW), selon trois options :

Euclidienne (mesure de la distance entre les extrémités des vecteurs)
Cosinus (mesure de l’angle entre les vecteurs)
dotProduct (similaire à la méthode cosinus, mais qui tient compte de la magnitude des vecteurs)

Dans le cadre de cette phase expérimentale, MongoDB Atlas peut aussi servir, entre autres, de magasin de vecteurs dans LangChain et LlamaIndex. Cela permet notamment d’« intercepter » et de retravailler les requêtes adressées aux grands modèles de langage.

Neo4j et Redis poussent aussi la recherche vectorielle

Chez Neo4j, on vient d’annoncer la disponibilité générale de la recherche vectorielle, y compris sur l’offre managée AuraDB. Comme chez MongoDB, on peut exploiter les méthodes euclidienne et cosinus, avec des vecteurs de 2048 bits maximum – chaque dimension d’un vecteur représentant un « aspect » de la signification de la séquence encodée.

La recherche vectorielle n’est pas nouvelle chez Redis : elle est à l’expérimentation depuis l’an dernier dans son moteur d’indexation. Le fournisseur américain a toutefois profité de sa dernière mise à jour unifiée (= appliquée à tous ses produits) pour remettre en avant cette fonctionnalité.

Au menu, on retrouve les méthodes euclidienne et cosinus, ainsi que celle du produit scalaire. Elles complètent la recherche FLAT (algorithme de type force brute, moins rapide queHNSW, mais retournant le nombre exact de plus proches voisins).

méthodes Redis

Illustration principale © AndSus – Adobe Stock