Instalação do Servidor Milvus com Docker e Dependências de Empacotamento
Milvus é um banco de dados vetorial open-source popular, com tração significativa em casos de uso de IA Generativa e RAG (Geração Aumentada por Recuperação). Como organização, você pode estar considerando integrar o Milvus ao seu stack de tecnologia, e é importante entender as principais dependências e requisitos.
Milvus oferece opções flexíveis de implantação para seu servidor:
Local: Execute o Milvus como um único contêiner Docker na sua máquina. Para necessidades em larga escala, implante o Milvus em um cluster Kubernetes.
Cloud (Zilliz): A Zilliz oferece o Milvus como um serviço de nuvem gerenciado na AWS, GCP ou Azure, fornecendo recursos avançados adicionais e uma experiência sem complicações.
O restante deste blog será sobre a instalação do Milvus localmente. Observe que isto é para o Milvus versão 2.4 e superiores.
Visão geral das dependências
Assumindo uma instalação limpa, as principais dependências para o servidor standalone do Milvus incluem:
FAISS: Uma biblioteca para busca eficiente de similaridade e clusterização de vetores densos.
etcd: Um armazenamento distribuído de chave-valor usado para armazenar metadados do Milvus.
Pulsar/Kafka: Um sistema distribuído de mensagens pub-sub para lidar com ingestão de dados em tempo real, processamento e comunicação entre componentes.
Tantivy: Uma biblioteca de mecanismo de busca de texto completo escrita em Rust para capacidades de busca baseada em texto.
RocksDB: Um mecanismo de armazenamento persistente.
Minio/S3/GCS/Azure Blob Storage: Compatibilidade com várias soluções de armazenamento de objetos.
Kubernetes: Uma plataforma distribuída de implantação conteinerizada.
StorageClass e Persistent Volumes: Recursos do Kubernetes são usados para gerenciar os requisitos de armazenamento do etcd e do Pulsar.
Prometheus e Grafana: Visualização para monitoramento do Milvus, que permite aos usuários acompanhar o desempenho e solucionar problemas.
Tamanho da imagem Docker ~500MB
O tamanho da imagem Docker para o contêiner standalone do Milvus é de cerca de 500MB. Você pode encontrar os lançamentos mais recentes na página do Milvus Docker Hub em https://hub.docker.com/r/milvusdb/milvus/tags.
Frequência de atualizações ~1x por mês (muitos lançamentos pequenos e 1 lançamento fixado por mês)
O Milvus tem um ciclo de lançamentos bastante frequente, com aproximadamente um lançamento principal por mês. Os lançamentos menores incluem melhorias e correções de bugs. Normalmente há um lançamento "fixado" por mês.
Não recomendamos usar a versão secundária mais recente em produção. O Zilliz cloud está sempre na versão estável mais recente, que normalmente está uma versão atrás da mais recente. Por exemplo, neste momento a versão mais recente é 2.4, mas a versão mais recente que recomendamos para produção é a 2.3.x.
SDKs
Oferecemos seis SDKs (kits de desenvolvimento de software) em: Python, Node, Go, C#, Java, Ruby
Para instalar o SDK Python, basta executar pip install pymilvus.
É importante garantir que as versões do SDK escolhido e do servidor Milvus correspondam em termos de números de versão maior e menor. Por exemplo, a versão 2.4.0 do Pymilvus é compatível com a versão 2.4.0-rc.1-dev de um servidor Milvus local. Da mesma forma, a versão 2.3.6 do Pymilvus é compatível com a versão 2.3.x do Zilliz.
Instalação
Instalar o Docker standalone do Milvus é simples. O principal é baixar o docker-compose.yml mais recente, seja pela página da documentação ou diretamente do GitHub. Mostro um comando wget abaixo. Você pode alterar o comando wget para qualquer versão que estiver usando. Você também precisará ter o Docker instalado.
Abaixo está um exemplo de código Python para instalar e conectar.
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
Resumo
Estas são as principais dependências e a frequência de atualização das versões para implantar o servidor Milvus no Docker standalone. Entender esses detalhes pode ajudar você a planejar e se preparar melhor para integrar o Milvus à pilha de tecnologia da sua organização.
Continue lendo

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

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.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.



