Installation de Milvus Server avec Docker et dépendances de packaging
Milvus est une base de données vectorielle open-source populaire, bénéficiant d’une forte adoption dans les cas d’utilisation de l’IA générative et du RAG (Retrieval Augmented Generation). En tant qu’organisation, vous envisagez peut-être d’intégrer Milvus à votre pile technologique, et il est important de comprendre les principales dépendances et exigences.
Milvus offre des options de déploiement flexibles pour son serveur :
Local : Exécutez Milvus comme un seul conteneur Docker sur votre machine. Pour les besoins à grande échelle, déployez Milvus sur un cluster Kubernetes.
Cloud (Zilliz) : Zilliz propose Milvus comme service cloud géré sur AWS, GCP ou Azure, avec des fonctionnalités avancées supplémentaires et une expérience sans tracas.
Le reste de ce blog portera sur l’installation de Milvus localement. Veuillez noter que cela concerne Milvus version 2.4 et les versions ultérieures.
Aperçu des dépendances
En supposant une installation propre, les principales dépendances pour le serveur autonome Milvus incluent :
FAISS : Une bibliothèque pour la recherche de similarité efficace et le clustering de vecteurs denses.
etcd : Un magasin clé-valeur distribué utilisé pour stocker les métadonnées de Milvus.
Pulsar/Kafka : Un système de messagerie pub-sub distribué pour gérer l’ingestion de données en temps réel, le traitement et la communication entre les composants.
Tantivy : Une bibliothèque de moteur de recherche en texte intégral écrite en Rust pour les capacités de recherche textuelle.
RocksDB : Un moteur de stockage persistant.
Minio/S3/GCS/Azure Blob Storage : Compatibilité avec diverses solutions de stockage d’objets.
Kubernetes : Une plateforme de déploiement conteneurisée distribuée.
StorageClass et Persistent Volumes : Les ressources Kubernetes sont utilisées pour gérer les exigences de stockage d’etcd et de Pulsar.
Prometheus et Grafana : Visualisation pour la surveillance de Milvus, qui permet aux utilisateurs de suivre les performances et de résoudre les problèmes.
Taille de l’image Docker ~500 Mo
La taille de l’image Docker pour le conteneur autonome Milvus est d’environ 500 Mo. Vous pouvez trouver les dernières versions sur la page Docker Hub de Milvus à l’adresse https://hub.docker.com/r/milvusdb/milvus/tags.
Fréquence des mises à jour ~1x par mois (nombreuses petites versions et 1 version épinglée par mois)
Milvus a un cycle de publication assez fréquent, avec environ une version majeure par mois. Les versions plus petites incluent des améliorations et des corrections de bugs. Il y a généralement une version « épinglée » par mois.
Nous ne recommandons pas d’utiliser la dernière version mineure en production. Zilliz cloud est toujours sur la dernière version stable, qui est généralement une version derrière la plus récente. Par exemple, actuellement la dernière version est la 2.4, mais la dernière version que nous recommandons pour la production est la 2.3.x.
SDK
Nous proposons six SDK (kits de développement logiciel) en : Python, Node, Go, C#, Java, Ruby
Pour installer le SDK Python, exécutez simplement pip install pymilvus.
Il est important de s’assurer que les versions du SDK choisi et du serveur Milvus correspondent en termes de numéros de version majeure et mineure. Par exemple, la version 2.4.0 de Pymilvus est compatible avec une version 2.4.0-rc.1-dev du serveur Milvus local. De même, la version 2.3.6 de Pymilvus est compatible avec la version 2.3.x de Zilliz.
Installation
L’installation de Milvus standalone Docker est simple. L’essentiel est de télécharger le dernier fichier docker-compose.yml, soit depuis la page de documentation, soit directement depuis GitHub. Je montre une commande wget ci-dessous. Vous pouvez modifier la commande wget selon la version que vous utilisez. Vous devrez également avoir Docker installé.
Vous trouverez ci-dessous un exemple de code Python pour installer et se connecter.
import pymilvus
from pymilvus import (connections, MilvusClient, utility)
print(f"Pymilvus: {pymilvus.__version__}")
###########################################################################################
# Download the latest .yaml file: https://milvus.io/docs/install_standalone-docker.md
# Or download manually from milvus github:
# !wget https://github.com/milvus-io/milvus/releases/download/v2.4.0-rc.1/milvus-standalone-docker-compose.yml -O docker-compose.yml
############################################################################################
# Start Docker
!docker compose up -d
# Verify which local port the Milvus server is listening on
!docker ps -a #19530/tcp
# Connect to the local server.
connection = connections.connect(
alias="default",
host='localhost', # or '0.0.0.0' or 'localhost'
port='19530'
)
# Print server version.
print(utility.get_server_version())
# Use no-schema Milvus client (flexible json key:value format).
mc = MilvusClient(connections=connection)
# Check if a collection already exists.
collection_name = "movies"
has = utility.has_collection(collection_name)
print(f"Collection '{collection_name}' exists in Milvus?")
print(f"Answer --> {has}!")
# Stop the local Milvus server.
!docker compose down
Résumé
Voici les principales dépendances et la fréquence de mise à jour des versions pour déployer le serveur Milvus sur Docker standalone. Comprendre ces détails peut vous aider à mieux planifier et préparer l’intégration de Milvus dans la pile technologique de votre organisation.
Continuer à lire

Why Context Engineering Is Becoming the Full Stack of AI Agents
Discover how context engineering unifies prompts, RAG, and tools to build smarter, production-ready AI agents powered by Milvus.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.



