Buscar

Ferramentas

Milvus

Banco de dados vetorial para busca por similaridade e RAG, do notebook ao cluster Kubernetes, para quem precisa guardar e consultar milhões de embeddings.

  • Inteligência Artificial
  • Dados e Analytics
  • Self-hosted
Milvus

Para uma IA responder com base nos documentos da empresa, os textos viram embeddings, vetores numéricos que precisam ser guardados e comparados. O Milvus é um banco de dados vetorial feito para isso. O projeto está na LF AI & Data Foundation e tem a Zilliz como principal contribuidora. Ele guarda os vetores junto de campos comuns, como números, textos e JSON, e filtra por eles na mesma consulta.

Para que serve

  • Alimentar um sistema de RAG que busca trechos de documentos antes de o modelo responder.
  • Combinar busca semântica com busca por palavra (BM25) numa consulta híbrida.
  • Recomendar produtos ou conteúdos parecidos a partir de vetores de imagem ou texto.
  • Isolar os dados de vários clientes por banco, coleção ou partição.

Como começar

Para testar no notebook, o Milvus Lite roda como biblioteca Python e grava num arquivo local:

pip install -U pymilvus[milvus-lite]

No código, MilvusClient("milvus_demo.db") cria o banco. Para produção há duas versões. O Standalone roda numa máquina só, com o docker-compose.yml do repositório. O Distributed escala em Kubernetes, com nós de consulta e de dados separados. O mesmo cliente conecta em qualquer um deles: basta trocar o arquivo pelo endereço e pelo token do servidor. Os índices disponíveis incluem HNSW, IVF, DiskANN e opções em GPU.

Licença e custo

Sob a Apache 2.0, o Milvus sai de graça para uso e alteração. Redistribuir traz deveres: entregar a licença junto, conservar as atribuições e o arquivo NOTICE e marcar o que foi modificado. Ela também libera o uso das patentes que cada contribuidor tenha sobre o que enviou. Para quem não quer operar o cluster, a Zilliz vende o Zilliz Cloud, Milvus gerenciado em modo serverless, dedicado ou dentro da sua própria nuvem (BYOC). O site oferece teste gratuito.

Quando vale a pena

Milhões de vetores e uma busca que precisa crescer em vários servidores formam o cenário em que o Milvus se justifica. Para um acervo pequeno, o pgvector, dentro de um PostgreSQL que você já mantém, evita mais um serviço. Entre os bancos vetoriais dedicados, o Qdrant é outra alternativa.