Milvus

Milvus — высокопроизводительная cloud-native vector database, спроектированная для масштабируемого ANN (approximate nearest neighbor) поиска и hybrid search. Подходит для RAG, semantic/image search, recommendation и других задач, где нужны векторные представления и фильтрация по метаданным.

Источник: Milvus на GitHub

Пример (Python)

from pymilvus import MilvusClient

client = MilvusClient("milvus_demo.db")  # или endpoint:uri и credentials для удалённого кластера

client.create_collection(
    collection_name="demo_collection",
    dimension=768,
)

# вставка (data — список векторов/полей)
res = client.insert(collection_name="demo_collection", data=data)

# поиск
query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?"])
res = client.search(collection_name="demo_collection", data=query_vectors, limit=2)

Ключевые возможности

  • Fully-distributed, K8s-native архитектура: разделение compute и storage, шардирование и репликация.
  • Поддержка множества index типов: HNSW, IVF, FLAT, SCANN, DiskANN, IVFPQ и вариации с quantization.
  • GPU/CPU hardware acceleration для индексирования и поиска.
  • Hybrid search: dense + sparse (BM25) и multi-vector сценарии.
  • Поддержка sparse vectors для full-text и совместное хранение dense+ sparse.
  • Hot/cold storage, multi-tenancy, RBAC, TTL для объектов.
  • Экосистема: интеграции с LangChain, LlamaIndex, OpenAI, HuggingFace; инструменты мониторинга (Prometheus/Grafana), миграции и CDC.

Когда использовать

  • RAG, semantic search, image search, recommendation, большие наборы векторов (миллиарды векторов) и сценарии с требованием low-latency.

Ресурсы

Лицензия

Проект распространяется под Apache-2.0 (репозиторий на GitHub содержит ссылки на лицензию и коммерческие разделы).