Qu'est-ce qu'une base de données vectorielle ?

Une base de données vectorielle est une base de données qui vous permet de stocker, d'indexer et d'interroger des représentations vectorielles continues de vecteurs ou des représentations numériques de données non structurées, telles que du texte, des images ou des fichiers audio.

Que sont les représentations vectorielles continues de vecteurs ?

Les représentations vectorielles continues sont des représentations utiles des données non structurées, car elles mappent le contenu de telle sorte que la similarité sémantique est représentée par la distance dans un espace vectoriel à N dimensions. Il est ainsi plus facile de rechercher des similarités, de trouver du contenu pertinent dans une base de connaissances ou de récupérer un élément correspondant le mieux à une requête complexe générée par un utilisateur.

Si certaines bases de données spécialisées ne sont compatibles qu'avec les représentations vectorielles continues de vecteurs, d'autres prennent en charge de nombreux autres types de données et de requêtes en plus des représentations vectorielles continues. La prise en charge d'un large éventail de types de données et de requêtes est essentielle pour créer des applications d'IA générative à partir de données enrichies et réelles. Au fur et à mesure que les avantages des requêtes sémantiques utilisant des représentations vectorielles continues de vecteurs deviendront évidents, la plupart des bases de données ajouteront la prise en charge des vecteurs. À l'avenir, nous pensons que toute base de données sera une base de données vectorielle.

Découvrez comment la recherche vectorielle de Vertex AI permet de créer des applications d'IA générative hautes performances. La recherche vectorielle de Vertex AI est basée sur ScaNN, une technologie de recherche vectorielle évolutive et efficace développée par Google Research, ce qui en fait la solution idéale pour gérer de grands ensembles de données et les besoins de recherche en temps réel. Pour en savoir plus sur la recherche vectorielle et les représentations vectorielles continues, regardez cette vidéo et commencez par consulter ce guide de démarrage rapide.

Comment fonctionne une base de données vectorielle ?

Comme pour les autres types de données, vous devez disposer d'un index pour interroger efficacement un grand nombre de vecteurs. De plus, les bases de données vectorielles acceptent des index spécialisés pour les vecteurs. Contrairement à de nombreux autres types de données (comme le texte ou les nombres), qui ont un ordre logique unique, les vecteurs n'ont pas un ordre naturel qui correspond à des cas d'utilisation pratiques. Au lieu de cela, le cas d'utilisation le plus courant consiste à rechercher les vecteurs k les plus proches d'un autre vecteur en termes de métrique de distance, comme le produit scalaire, la similarité cosinus ou la distance euclidienne. Ce type de requête est appelé requête "voisins k (exacts) les plus proches" ou "KNN".

Malheureusement, il n'existe pas d'algorithme général pour des requêtes KNN efficaces. Pour s'assurer de trouver les voisins k les plus proches d'un vecteur donné, q, il faut calculer la distance entre q et tout autre vecteur. Cependant, il existe des algorithmes efficaces pour trouver les voisins k les plus proches ("ANN") approximatifs. Ces algorithmes ANN offrent une certaine précision (en particulier le rappel, qui peut omettre certains des voisins les plus proches) pour améliorer considérablement la vitesse. Étant donné que de nombreux cas d'utilisation considèrent déjà le calcul des représentations vectorielles continues de vecteurs imprécis, ils peuvent souvent tolérer une perte de rappel en échange d'une nette amélioration des performances.

Pour activer les requêtes ANN de vecteurs basées sur la distance par rapport à un autre vecteur, un index vectoriel est structuré de manière à ce que les clusters de vecteurs proches soient généralement regroupés. Les types d'indices vectoriels courants peuvent être structurés sous la forme d'un ensemble de listes, dans lesquelles chaque liste représente les vecteurs d'un cluster donné ; d'un graphe dans lequel chaque vecteur est connecté à plusieurs de ses voisins les plus proches ; d'arbres dont les branches correspondent à des sous-ensembles du cluster du nœud parent, et bien plus encore. Chaque type d'index fournit des compromis entre la vitesse de recherche, le rappel, la consommation de mémoire, le temps de création de l'index et d'autres facteurs.

Cependant, la plupart des requêtes de base de données ne sont pas seulement basées sur la similarité sémantique. Par exemple, un utilisateur peut rechercher un livre dont la description est "histoire touchante sur un enfant et un chien", mais il peut également vouloir limiter cette recherche aux livres de moins de 20 $ disponibles au format broché. Les bases de données vectorielles à usage spécifique peuvent fournir une capacité de filtrage supplémentaire limitée (parfois appelée "restriction") tandis que les bases de données à usage général peuvent composer des prédicats riches à l'aide de langages standards tels que SQL, qui peuvent être associés à l'ordre de similarité vectorielle pour permettre des requêtes très puissantes et expressives.

Cas d'utilisation des bases de données vectorielles

La capacité des représentations vectorielles continues à représenter le sens sémantique des données non structurées, combinée à la capacité des bases de données vectorielles à rechercher efficacement les vecteurs proches, ouvre de nombreux cas d'utilisation importants :

  • Rechercher dans l'historique des discussions des messages pertinents pour la conversation en cours, permettant ainsi aux chatbots optimisés par l'IA d'avoir de la "mémoire"
  • Trouver des extraits vidéo issus d'une vaste archive de diffusions sportives qui correspondent à une description simple du type "Saut par-dessus un défenseur pour rattraper le ballon et marquer un touchdown"
  • Trouver des produits semblables à ceux qu'un utilisateur a déjà achetés, et qui correspondent à ses préférences de prix et de style
  • Rechercher des documents pertinents pour une tâche (par exemple, "remplacer le filtre d'un aspirateur") afin qu'un assistant basé sur l'IA puisse fournir une réponse factuelle pertinente

Avantages des bases de données vectorielles

Les bases de données vectorielles sont importantes, car elles peuvent être utilisées pour résoudre une variété de problèmes difficiles, voire impossibles à résoudre, à l'aide de prédicats relationnels ou de techniques de recherche textuelle seuls.

Les bases de données vectorielles sont parfaitement adaptées aux applications d'IA générative, car elles facilitent la récupération de contextes critiques métier et applicatifs, tels que l'historique des discussions ou le contenu non structuré propre à l'entreprise, afin d'aider les LLM à répondre à une requête utilisateur complexe.

Elles permettent également de rechercher facilement du contenu en langage naturel ou d'effectuer des requêtes par exemple.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre propre défi.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud