Установка Milvus Server Docker и зависимости для упаковки
Milvus — популярная векторная база данных с открытым исходным кодом, получившая значительное распространение в сценариях использования Generative AI и RAG (Retrieval Augmented Generation). Как организация, вы можете рассматривать интеграцию Milvus в свой технологический стек, и важно понимать ключевые зависимости и требования.
Milvus предлагает гибкие варианты развертывания своего сервера:
Локально: Запустите Milvus как один Docker-контейнер на своей машине. Для крупномасштабных потребностей разверните Milvus в кластере Kubernetes.
Облако (Zilliz): Zilliz предлагает Milvus как управляемый облачный сервис на AWS, GCP или Azure, предоставляя дополнительные расширенные функции и удобство без лишних хлопот.
Остальная часть этого блога будет посвящена локальной установке Milvus. Обратите внимание, что это относится к версии Milvus 2.4 и выше.
Обзор зависимостей
Предполагая чистую установку, основные зависимости для автономного сервера Milvus включают:
FAISS: Библиотека для эффективного поиска сходства и кластеризации плотных векторов.
etcd: Распределенное хранилище ключ-значение, используемое для хранения метаданных Milvus.
Pulsar/Kafka: Распределенная система обмена сообщениями pub-sub для обработки приема данных в реальном времени, обработки и взаимодействия между компонентами.
Tantivy: Библиотека полнотекстового поискового движка, написанная на Rust, для возможностей текстового поиска.
RocksDB: Постоянный движок хранения.
Minio/S3/GCS/Azure Blob Storage: Совместимость с различными решениями объектного хранения.
Kubernetes: Распределенная платформа развертывания контейнеризованных приложений.
StorageClass и Persistent Volumes: Ресурсы Kubernetes используются для управления требованиями к хранилищу etcd и Pulsar.
Prometheus и Grafana: Визуализация для мониторинга Milvus, которая позволяет пользователям отслеживать производительность и устранять проблемы.
Размер Docker-образа ~500MB
Размер Docker-образа для автономного контейнера Milvus составляет около 500MB. Вы можете найти последние релизы на странице Milvus Docker Hub по адресу https://hub.docker.com/r/milvusdb/milvus/tags.
Частота обновлений ~1x в месяц (много небольших релизов и 1 закрепленный релиз в месяц)
У Milvus довольно частый цикл релизов, примерно один крупный релиз в месяц. Небольшие релизы включают улучшения и исправления ошибок. Обычно в месяц выходит один «закрепленный» релиз.
Мы не рекомендуем использовать последний минорный релиз для production. Zilliz cloud всегда работает на последнем стабильном релизе, который обычно на одну версию отстает от последнего. Например, прямо сейчас последняя версия — 2.4, но последний релиз, который мы рекомендуем для production, — 2.3.x.
SDK
Мы предлагаем шесть SDK (наборов для разработки программного обеспечения) на: Python, Node, Go, C#, Java, Ruby
Чтобы установить Python SDK, просто выполните pip install pymilvus.
Важно убедиться, что выбранные вами версии SDK и сервера Milvus совпадают по номерам мажорной и минорной версий. Например, Pymilvus версии 2.4.0 совместим с локальным сервером Milvus версии 2.4.0-rc.1-dev. Аналогично, Pymilvus версии 2.3.6 совместим с Zilliz версии 2.3.x.
Установка
Установить Milvus standalone Docker просто. Главное — скачать последний docker-compose.yml либо со страницы документации, либо напрямую с GitHub. Ниже я показываю команду wget. Вы можете изменить команду wget на любую версию, которую используете. Также вам потребуется установленный Docker.
Ниже приведен пример кода Python для установки и подключения.
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
Резюме
Это ключевые зависимости и частота обновления релизов для развертывания сервера Milvus в standalone Docker. Понимание этих деталей поможет вам лучше спланировать и подготовиться к интеграции Milvus в технологический стек вашей организации.
Читать далее

How to Choose the Best Embedding Model for RAG in 2026: 10 Models Benchmarked
We benchmarked 10 embedding models on cross-modal, cross-lingual, long-document, and dimension compression tasks. See which one fits your RAG pipeline.

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.



