Une base de données vectorielle est une base de données qui stocke des informations sous forme de vecteurs, c'est-à-dire des représentations numériques d'objets de données.
🔜 Qu'est-ce qu'un vecteur ?
Pour faire simple, les vecteurs sont une représentation numérique du texte.
Il y a du texte d'entrée (également appelé Prompt)
Vous le transmettez via ce qu'on appelle un modèle d'intégration , que vous considérez comme une fonction sans état. Vous obtenez une sortie qui est un tableau de nombres à virgule flottante
Ce qu'il est important de comprendre, c'est que les vecteurs capturent le sens sémantique . Ils peuvent donc être utilisés pour une recherche basée sur la pertinence ou le contexte , plutôt que pour une simple recherche de texte.
La base de donnée vectorielle tire parti de la puissance de ces plongements vectoriels pour indexer un ensemble volumineux de données non structurées et de données semi-structurées, comme les images, les textes ou les données de capteur, et pour y faire des recherches. Les bases de données vectorielles sont conçues pour gérer les plongements vectoriels, et ainsi offrir une solution complète pour la gestion des données non structurées et semi-structurées.
Une base de données vectorielle organise les données selon des vecteurs à haute dimensionnalité. Les vecteurs à haute dimensionnalité contiennent des centaines de dimensions, qui correspondent chacune à une fonctionnalité ou à une propriété spécifique de l'objet de données qu'elles représentent.
On peut classer les bases de données vectorielles en deux types :
1️⃣ Prise en charge du type de données vectorielles dans les bases de données existantes, telles que PostgreSQL, Redis, OpenSearch, MongoDB, Cassandra, etc.
2️⃣ Et l'autre catégorie est destinée aux bases de données vectorielles spécialisées, comme
Pinecone, https://www.pinecone.io/
Weaviate, https://weaviate.io/
Milvus, https://nebius.ai/marketplace/products/nebius/milvus (open source)
Qdrant, https://qdrant.tech/ (open source)
ChromaDB, https://www.trychroma.com/ (open source)
Ce domaine évolue également très rapidement et cette liste risque d’évoluer dans un avenir proche !
Exemple dans Ollama on utilise ChromaDB depuis le mois d'avril 2024
🔗 source : Open Source & Self-hosted RAG LLM Server with ChromaDB, Docker & Ollama
⚠ Bases de données vectorielles sont de plus en plus utilisées pour les applications d'IA générative
Elles sont un composant essentiel pour surmonter les limitations des LLM notamment dans le processus RAG