Base de données vectorielle
Une base de données vectorielle est un système de base de données conçu pour stocker, indexer et interroger des embeddings vectoriels de haute dimension à grande échelle, permettant une recherche de similarité rapide sur de vastes ensembles de données embarquées.
Comprendre Base de données vectorielle
Les bases de données traditionnelles stockent des données structurées dans des tables et les interrogent à l’aide de filtres de correspondance exacte. Les bases de données vectorielles fonctionnent différemment : elles stockent des vecteurs en virgule flottante (embeddings) et les interrogent par similarité, à l’aide de mesures comme la similarité cosinus ou la distance euclidienne. Elles sont donc essentielles pour les applications d’IA nécessitant une recherche sémantique, des recommandations ou une mémoire. Le principal défi résolu par les bases de données vectorielles est le problème du « plus proche voisin » à grande échelle. Trouver les vecteurs les plus proches d’un vecteur de requête parmi des millions d’embeddings nécessite des algorithmes d’indexation spécialisés. Les algorithmes d’approximation de plus proche voisin (ANN) comme HNSW et IVF accélèrent cette recherche en échangeant un peu de précision contre un gain considérable de rapidité. Parmi les bases populaires, on trouve ChromaDB, Pinecone, Weaviate, Qdrant et pgvector (une extension PostgreSQL). Elles se distinguent par leur mode de déploiement, leur capacité de montée en charge, leurs fonctions de filtrage et leur simplicité d’utilisation. ChromaDB, par exemple, est particulièrement prisée pour les déploiements locaux ou auto-hébergés en raison de sa simplicité. Dans les systèmes RAG, la base de données vectorielle stocke les embeddings de votre base de connaissances. Lors de la requête, la base trouve les embeddings les plus pertinents et retourne les documents d’origine pour que le LLM les utilise comme contexte. Cela permet aux systèmes d’IA d’accéder à une connaissance ciblée, sans tout inclure dans la fenêtre de contexte du LLM.
Comment GAIA utilise Base de données vectorielle
GAIA utilise ChromaDB comme base de données vectorielle pour stocker et interroger les embeddings de vos e-mails, tâches, documents et événements de calendrier. Lorsque GAIA doit trouver un contexte pertinent pour une tâche ou répondre à une requête, ChromaDB effectue une recherche de similarité rapide sur tout le contenu embarqué. Cela donne à GAIA une mémoire persistante et consultable de tout votre espace de travail numérique, qui devient de plus en plus intelligente à mesure que de nouvelles données sont indexées.
Concepts liés
Embeddings
Les embeddings sont des représentations vectorielles denses de données (texte, image, audio, etc.) qui capturent le sens et les relations sémantiques dans un espace de grande dimension.
Représentations vectorielles (embeddings)
Les embeddings vectoriels sont des représentations numériques de textes, images ou autres données qui capturent le sens sémantique, permettant à la machine de comprendre la similarité et les relations entre différentes informations.
Génération augmentée par récupération (RAG)
La Génération augmentée par récupération (RAG) est une technique qui améliore les réponses d'un LLM en récupérant d'abord des documents ou données pertinents à partir d'une base de connaissances externe et en injectant ce contexte dans l'invite du modèle.
Recherche sémantique
La recherche sémantique est une technique de recherche qui comprend le sens et l'intention derrière une requête, et retourne des résultats fondés sur la pertinence conceptuelle plutôt que sur la correspondance exacte de mots-clés.
Mémoire basée sur les graphes
La mémoire basée sur les graphes est une architecture de mémoire IA qui stocke les informations sous forme de nœuds interconnectés et de relations, permettant une compréhension contextuelle riche et une persistance des connaissances à travers les interactions.


