La maîtrise des données simplifiée : explorer la magie des bases de données vectorielles dans les notebooks Jupyter
Anthropic a récemment publié une version de Claude à 100k tokens. Google a récemment publié PaLM 2. Et bien sûr, nous connaissons tous très bien GPT et ChatGPT d’OpenAI à ce stade. Les grands modèles de langage (LLM) ont accéléré l’adoption de l’IA, entraînant avec eux la demande pour les bases de données vectorielles.
Pourquoi ? Parce que les bases de données vectorielles peuvent aider à résoudre l’un des plus grands problèmes auxquels les LLM sont confrontés : un manque de connaissances de domaine et de données à jour. En dehors des LLM, les bases de données vectorielles montrent également leur utilité pour alimenter des applications de recherche par similarité. De plus, elles sont nécessaires pour travailler sur les recommandations de produits, la recherche d’image inversée et la recherche sémantique de texte.
Comment pouvez-vous commencer avec une base de données vectorielle dans votre Jupyter Notebook ? Ce tutoriel couvre :
- Qu’est-ce qu’une base de données vectorielle ?
- Comment utiliser une base de données vectorielle dans votre Jupyter Notebook
- Qu’est-ce que Milvus (Lite) ?
- Résumé d’une base de données vectorielle dans votre Jupyter Notebook
Cela s’applique tout autant aux notebooks CoLab. En voici deux pour vous : un notebook CoLab pour la recherche d’image inversée, et un notebook CoLab pour la recherche sémantique de texte.
Qu’est-ce qu’une base de données vectorielle ?
Avant de nous lancer dans le tutoriel, acquérons une compréhension de base des bases de données vectorielles. Une base de données vectorielle est conçue pour stocker, indexer et interroger des données vectorielles. Elles sont principalement utilisées pour travailler avec des données non structurées telles que des images, du texte ou de la vidéo. D’abord, vous faites passer vos données dans un réseau neuronal existant pour obtenir les embeddings vectoriels, généralement extraits de l’avant-dernière couche.
Ces embeddings vectoriels sont ensuite stockés dans une base de données vectorielle. Une fois vos embeddings vectoriels stockés, vous pouvez interroger la base de données vectorielle pour obtenir les top k entrées de données les plus similaires via des embeddings vectoriels, comme indiqué dans les notebooks CoLab ci-dessus. Parmi les outils que les bases de données vectorielles abstraient pour vous figurent :
- Les index vectoriels que vous devriez sinon inclure.
- Les algorithmes de recherche vectorielle tels que HNSW.
- Un moyen de communiquer avec une couche de stockage persistante.
Qu’est-ce que Milvus (Lite) ?
Milvus est une base de données vectorielle avec un backend natif de système distribué. Elle est spécialement conçue pour gérer l’indexation, le stockage et l’interrogation de données vectorielles à l’échelle du milliard. Milvus utilise plusieurs couches et types de nœuds de travail pour une conception facilement évolutive. En plus d’utiliser plusieurs nœuds à usage unique, Milvus utilise également des données segmentées pour une indexation plus efficace. Milvus utilise des segments de données de 512MB qui ne sont pas modifiés après avoir été remplis et les interroge en parallèle afin d’offrir la latence la plus faible du secteur.
Architecture de haut niveau de la base de données vectorielle Milvus
En général, vous utiliseriez Docker Compose, Helm, ou le Milvus Operator pour lancer une instance Milvus. Cependant, Milvus Lite vous permet de lancer une instance Milvus directement depuis votre Jupyter Notebook ou script Python. Il fonctionne de la même manière que Milvus et enregistre toutes vos données localement.
Comment utiliser une base de données vectorielle dans votre Jupyter Notebook
Vous pouvez commencer avec une base de données vectorielle comme Milvus Lite directement dans votre notebook via une installation pip. Dans la première ligne de votre Jupyter Notebook, exécutez ! pip install pymilvus milvus. Une fois que vous avez installé pymilvus et milvus, vous pouvez démarrer la base de données vectorielle et vous y connecter dans un notebook iPython.
Le module milvus fournit Milvus Lite et le module pymilvus fournit une interface Python pour se connecter à Milvus. Pour commencer, nous importons trois modules. Premièrement, default_server depuis milvus. Deuxièmement,connections depuis pymilvus, et troisièmement, utility depuis pymilvus. Nous utilisons la fonction start() depuis le default_server pour démarrer le serveur. Une fois le serveur démarré, nous nous connectons en utilisant connect depuis connections et en transmettant l’hôte, localhost ou 127.0.0.1, et le port, récupéré depuis le serveur par défaut.
from milvus import default_server
from pymilvus import connections, utility
default_server.start()
connections.connect(host="127.0.0.1", port=default_server.listen_port)
Une fois que vous êtes connecté à Milvus, vous pouvez utiliser utility pour vérifier votre base de données. Par exemple, appelez get_server_version() pour vous assurer que vous disposez de la dernière version, que vous pouvez vérifier sur le Blog Milvus. Vous pouvez également utiliser utility pour vérifier les collections, des tables distinctes dans Milvus. Si vous voulez repartir de zéro, vous pouvez vérifier si une collection portant le nom que vous souhaitez utiliser est déjà utilisée et soit la supprimer avec drop_collection, soit choisir un nouveau nom.
utility.get_server_version()
if utility.has_collection(COLLECTION_NAME):
utility.drop_collection(COLLECTION_NAME)
Vous voulez aller encore plus loin et utiliser une base de données vectorielle en production ou pour un projet plus important ? Envisagez Zilliz Cloud ou Milvus Standalone.
Résumé de l’utilisation d’une base de données vectorielle dans votre Jupyter Notebook
Dans cet article, nous avons appris que les bases de données vectorielles sont utiles chaque fois que vous devez faire quelque chose impliquant une recherche de similarité. Elles aident à indexer, stocker et interroger les représentations d’embeddings vectoriels de données non structurées comme des images, des vidéos ou du texte. Ensuite, nous examinons un exemple d’utilisation d’une base de données vectorielle dans votre Jupyter Notebook via Milvus Lite.
Enfin, nous jetons un coup d’œil sous le capot de Milvus pour voir le backend du système distribué. Nous fournissons également des ressources pour comprendre comment commencer à utiliser une base de données vectorielle via des exemples dans des notebooks CoLab. Pour ceux qui souhaitent utiliser une instance autonome de base de données vectorielle, nous fournissons également des exemples montrant comment configurer Milvus Standalone.
Continuer à lire

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

DeepSeek-OCR Explained: Optical Compression for Scalable Long-Context and RAG Systems
Discover how DeepSeek-OCR uses visual tokens and Contexts Optical Compression to boost long-context LLM efficiency and reshape RAG performance.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.



