Sobre o projeto
Milvus é um banco de dados vetorial distribuído escrito em Go e C++ que permite a organização e a busca eficiente de vastas quantidades de dados não estruturados, incluindo texto, imagens e informações multimodais. Ele é projetado para alta escalabilidade e disponibilidade, utilizando uma arquitetura K8s-native que separa computação e armazenamento para permitir o escalonamento horizontal independente.
As principais capacidades incluem:
- Busca Vetorial e Indexação: Suporta múltiplos tipos de índices, como HNSW, IVF, FLAT, SCANN e DiskANN, com aceleração de hardware tanto para CPU quanto para GPU (incluindo NVIDIA CAGRA).
- Busca Híbrida: Suporta nativamente vetores densos para busca semântica e vetores esparsos para busca de texto completo (BM25, SPLADE, BGE-M3), permitindo resultados híbridos reclassificados.
- Gerenciamento de Dados: Possui isolamento de multi-tenancy, mecanismos de armazenamento hot/cold para custo-benefício e suporte para tipos de dados escalares (inteiros, strings, JSON) para filtragem de metadados.
- Segurança: Implementa autenticação de usuário obrigatória, criptografia TLS e Controle de Acesso Baseado em Função (RBAC).
- Opções de Implantação: Disponível como um cluster distribuído, uma implantação Docker standalone ou uma versão Python leve (Milvus Lite).
O Milvus integra-se com frameworks de IA populares como LangChain, LlamaIndex, OpenAI e HuggingFace, e fornece um SDK Python (pymilvus) para ingestão e consulta de dados.