Comment j’ai converti une base de données relationnelle classique en une base de données vectorielle pour stocker des embeddings

Comment j'ai converti une base de données relationnelle en base de données vectorielle pour stocker des embeddings.

Dans le monde de l’IA générative d’aujourd’hui, la base de données Vector est devenue l’une des parties intégrantes lors de la conception d’applications basées sur LLM. Que vous envisagiez de construire une application en utilisant OpenAI ou Google’s Generative AI ou que vous envisagiez de résoudre des cas d’utilisation tels que la conception d’un moteur de recommandation ou la construction d’une vision par ordinateur (CV) ou d’une base de données Vector, ce serait un composant important à prendre en compte.

Qu’est-ce qu’une base de données Vector et en quoi sont-elles différentes des bases de données traditionnelles ?

Dans le monde de l’apprentissage automatique, les vecteurs ou embeddings représentent la représentation numérique ou mathématique des données, qui peuvent être du texte, des images ou des contenus multimédias (audio ou vidéo). LLM d’OpenAI ou d’autres peuvent transformer les données régulières en embeddings vectoriels avec des dimensions multi-niveaux élevées et les stocker dans l’espace vectoriel. Ces formes numériques aident à déterminer le sens sémantique entre les données, à identifier des schémas ou des regroupements, ou à établir des relations. Les bases de données relationnelles basées sur des colonnes classiques ou les bases de données NoSQL ne sont pas adaptées pour stocker des données d’embeddings vectoriels avec plusieurs dimensions et pour les mettre à l’échelle de manière efficace si nécessaire. C’est là que nous avons besoin d’une base de données Vector, qui est un type spécial de base de données conçu pour gérer et stocker ce type de données d’embeddings, tout en offrant des performances élevées et une évolutivité.

Lors de la récupération de données ou de la recherche d’index, la base de données traditionnelle renvoie des résultats correspondant exactement à la requête, tandis que la base de données Vector utilise des algorithmes tels que le Kth-Nearest Neighbor (K-NN) ou l’Approximate Nearest Neighbor (A-NN) pour trouver des vecteurs similaires dans les mêmes dimensions ou ayant la plus courte distance en appliquant l’algorithme du cosinus, et renvoie des résultats similaires. Cela permet de résoudre des cas d’utilisation tels que la recherche d’images similaires parmi des ensembles de photos prises, la construction d’un moteur de recommandation basé sur une utilisation spécifique ou l’identification de schémas parmi un ensemble de vastes ensembles de données.

Comme vous pouvez le voir, la base de données Vector est capable de stocker et de rechercher efficacement des données vectorielles, ce qui est essentiel pour concevoir et construire des applications d’IA utilisant les modèles de langage volumineux (LLM). Nous disposons de nombreuses bases de données Vector sous forme d’utilisations sur site telles que Redis Enterprise ou Milvus ou de prestations de service SAAS comme Pinecone. Dans cet article, nous explorerons la base de données RDBMS la plus populaire, Postgres, et comment nous pouvons la convertir en une base de données Vector complète capable de fonctionner avec d’autres bases de données Vector populaires de qualité entreprise.

Comment convertir Postgres en une base de données Vector ?

Postgres est l’un des RDBMS les plus populaires, qui est open source mais a des performances similaires à celles de nombreux RDBMS de qualité entreprise. Il est présent sur le marché depuis longtemps, dominant par ses performances, sa facilité d’utilisation et sa robustesse.

La communauté open source a développé une extension appelée pgvector qui, une fois installée et activée, peut transformer une installation régulière de Postgres pour avoir la compatibilité nécessaire pour prendre en charge le développement d’applications d’IA générative en stockant et indexant des embeddings générés par tout LLM ayant n’importe quelles dimensions. La meilleure partie est que non seulement les données d’embeddings, mais aussi les données régulières peuvent être stockées et indexées dans la même base de données. Pgvector utilise les algorithmes des plus proches voisins exacts et approximatifs lors de la requête des données, ce qui lui permet parfois de surpasser les autres bases de données.

Voici le fichier Docker compose que j’ai utilisé pour lancer une version Docker de Postgres déjà intégrée à l’extension pgvector. Dans le Docker compose, j’ai également ajouté Pgadmin en tant que client de base de données afin que vous puissiez accéder à votre base de données.

Fig 1 : Commande Docker compose pour exécuter Postgres avec pgvector.

Fig 2 : Client PGAdmin (accessible via le port 5050)

Une fois le serveur Postgres en cours d’exécution ajouté, utilisez la commande SQL suivante pour activer l’extension vectorielle :

Conclusion

Dans cet article, nous avons exploré comment nous pouvons utiliser la puissance de la communauté open source pour lancer une base de données vectorielle évolutive et robuste, performante, basée sur un système de base de données relationnelle traditionnel. Si vous êtes un ingénieur en science des données ou un ingénieur en logiciel ou si vous concevez simplement ou explorez des solutions pour votre prochain projet basé sur l’IA, alors Postgres avec pgvector vous aidera certainement à résoudre certains cas d’utilisation tels que la recherche de similarité, le moteur de recommandation et la détection d’anomalies. Nous avons également démontré comment Postgres avec l’extension pgvector peut être installé et configuré de manière transparente à l’aide d’outils simples tels que Docker compose et intégré au framework de microservices existant.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Apprentissage automatique

En direct de Taipei Le PDG de NVIDIA dévoile des plateformes Gen AI pour chaque industrie.

Lors de sa première présentation en direct depuis la pandémie, le fondateur et PDG de NVIDIA, Jensen Huang, a lancé l...

AI

Qu'est-ce que la photogrammétrie ?

Grâce aux “vues de rue”, les outils de cartographie modernes peuvent être utilisés pour repérer un restau...

AI

Renouvelé, Remasterisé et Remixé 'Portal Prelude RTX' Rajeunit le Mod de Jeu Légendaire

Note de l’éditeur : Cet article fait partie de notre série hebdomadaire In the NVIDIA Studio, qui met en avant ...

AI

NVIDIA rend le streaming de réalité étendue plus évolutif et personnalisable pour les entreprises et les développeurs

Les organisations de tous les secteurs utilisent la réalité étendue (XR) pour repenser les flux de travail et amélior...

AI

Shutterstock apporte l'IA générative aux arrière-plans de scènes 3D avec NVIDIA Picasso

Imaginez ceci : les créateurs peuvent rapidement créer et personnaliser des arrière-plans de scènes 3D à l’aide...

AI

La Brigade Artistique d'Arteana' se rassemble - le créateur indépendant Rafi Nizam crée une émission pour enfants haut de gamme avec un budget limité.

Remarque de l’éditeur : Cet article fait partie de notre série hebdomadaire In the NVIDIA Studio, qui célèbre l...