Установка 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 в технологический стек вашей организации.
Читать далее

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.

DeepSeek Always Busy? Deploy It Locally with Milvus in Just 10 Minutes—No More Waiting!
Learn how to set up DeepSeek-R1 on your local machine using Ollama, AnythingLLM, and Milvus in just 10 minutes. Bypass busy servers and enhance AI responses with custom data.



